关于链表的一个c语言问题
# include & ltstdlib.h & gt
struct?结节
{
int?数据;
struct?节点?*下一个;
};
int?主()
{
int?n,?我,?j,?t;
int?旗帜?=?0,?k?=?0,?x;
struct?节点?*头,?*添加,?*p,?*q,?*r,* t 1;
头?=?(struct?node*)malloc(sizeof(struct?节点));
scanf("%d ",& ampn);
head->;下一个?=?NULL
t1?=?头;
为了什么?(我?=?1;?我?& lt=?n;?i++)
{
如果?(我?==?1)
{
scanf("%d ",& amphead->;数据);
}
其他
{
补充?=?(struct?node*)malloc(sizeof(struct?节点));
scanf("%d ",& amp添加-& gt;数据);
添加-& gt;下一个?=?NULL
t 1->;下一个?=?添加;
t1?=?添加;
}
}
printf("%d\n ",n);
p?=?头;
q?=?head->;接下来;
什么时候?(问)
{
r?=?q->;接下来;
q->;下一个?=?p;
p?=?q;
q?=?r;
}
head->;下一个?=?NULL
头?=?p;
q?=?头;
什么时候?(q!=空)
{
printf("%d?",?q->;数据);
q?=?q->;接下来;
}
printf(" \ n ");
p?=?头;
什么时候?(p)
{
r?=?p;
q?=?p->;接下来;
什么时候?(问)
{
如果?(问->;数据?==?p->;数据)
{
n-;
r-& gt;下一个?=?q->;接下来;
q?=?q->;接下来;
}
其他
{
q?=?q->;接下来;
r?=?r-& gt;接下来;
}
}
p?=?p->;接下来;
}
printf("%d\n ",n);
q?=?头;
什么时候?(q?!=?空)
{
printf("%d?",?q->;数据);
q?=?q->;接下来;
}
printf("\n ",?n);
回归?0;
}