改成 $malloc$ 和 $free$ 试试?
by Minecraft万岁 @ 2020-04-05 18:27:49
@[Minecraft万岁](/user/219198) \qwq? 现在 CE 解决了,结果又 WA 了(((
by 一只书虫仔 @ 2020-04-05 18:28:15
貌似 $free$ 只能释放 $malloc$ 创建的指针变量
by Minecraft万岁 @ 2020-04-05 18:28:41
我太菜了 无能为力
by Minecraft万岁 @ 2020-04-05 18:29:09
我记得我在别的地方做过这道题 程序不知道放在哪里了
by Minecraft万岁 @ 2020-04-05 18:29:54
@[Minecraft万岁](/user/219198) ((( 作为一个刚学链表的人也表示无能为力(smg啊 \qwq)
by 一只书虫仔 @ 2020-04-05 18:29:56
完蛋了 我找不到我源程序了 /kk
by Minecraft万岁 @ 2020-04-05 18:33:58
找到了!
by Minecraft万岁 @ 2020-04-05 18:36:52
```cpp
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct Elem{
char data;
Elem *lf;
Elem *rf;
}*t,*h,*rr,*b,*gb;
int n;
int ix;
char c[100005];
inline void link(Elem *l,Elem *r)
{
l->rf=r;
r->lf=l;
}
inline void build()
{
h=(Elem *)malloc(sizeof(Elem));
h->lf=h->rf=h;
t=h;
rr=h;
gb=h;
}
inline void delet(Elem *p)
{
t=p->rf;
link(p,t->rf);
free(t);
}
inline void insert_aft(Elem *p,char x)
{
t=(Elem *)malloc(sizeof(Elem));
t->data=x;
link(t,p->rf);
link(p,t);
}
inline void insert_bef(Elem *p,char x)
{
t=(Elem *)malloc(sizeof(Elem));
t->data=x;
link(p->lf,t);
link(t,p);
}
inline void sp(Elem *fr,Elem *rr)
{
swap(fr->data,rr->data);
}
inline void out()
{
b=h->rf;
while(b!=h)
{
printf("%c",b->data);
b=b->rf;
}
printf("\n");
return ;
}
inline void fd_det(int x)
{
b=h->rf;
while(b!=h)
{
if(b->data==x)
{
delet(b->lf);
break;
}
b=b->rf;
}
}
inline void Isort(Elem *l,Elem *r)
{
if(l==r||r->rf==l||l->lf==r) return ;
Elem *i=l;
Elem *j=r;
int tmp=i->data;
while(i!=j)
{
while(i!=j&&j->data>=tmp) j=j->lf;
i->data=j->data;
while(i!=j&&i->data<=tmp) i=i->rf;
j->data=i->data;
}
i->data=tmp;
Isort(l,i->lf);
Isort(i->rf,r);
}
inline void lst()
{
Elem *hd=h->rf;
Elem *tl=h->lf;
Isort(hd,tl);
}
int main()
{
while(scanf("%s",&c)!=EOF)
{
build();
for(int i=0;c[i];i++)
{
if(c[i]=='[') gb=h;
else
{
if(c[i]==']') gb=h->lf;
else
{
insert_aft(gb,c[i]);
gb=gb->rf;
}
}
}
out();
}
return 0;
}
```
大佬您自己对着看看 这是我自己写的链表的模板~~和链表实现快排~~ 估计您是小BUG
by Minecraft万岁 @ 2020-04-05 18:37:58
@[一只书虫仔](/user/114914) ……可以看编译记录啊……
```
head->next = tail->next = now.next = NULL;
```
这应该是
```
head->next = tail->next = now->next = NULL;
```
啊,~~学糊涂了吧~~
by Ryo_Yamada @ 2020-04-05 18:40:02