当前位置: 代码迷 >> C语言 >> 大家帮我看看啊~~谢谢了
  详细解决方案

大家帮我看看啊~~谢谢了

热度:113   发布时间:2005-12-23 14:20:00.0
大家帮我看看啊~~谢谢了

要求把链表数据做插入法排序,我算法出错误了,看不出来,大家一起帮帮我啊



#include "stdio.h"
typedef struct node{
int data;
struct node *next;
}xnode;
void paixu(int n,xnode *t)
{int i,j;
xnode *p,*q,*k;
p=t;
while(p!=NULL)
{printf("%d ",p->data);
p=p->next;
}
for(i=1;i<n;i++)
{k=t;
p=t->next;
for(j=1;j<i;j++)
{p=p->next;
k=k->next;}
q=p;
k->next=p->next;
k=t;
for(j=0;j<i;j++)
{if(k->data>q->data)
break;
p=k;
k=k->next;
}
if(k->data>q->data)
{p->next=q;
q->next=k;}
else
k->next=q;
}
}
main()
{xnode *pp,*tt,*qq;
int i,j,n,shu[100];
printf("number:");
scanf("%d",&n);
printf("\ninput:");
for(i=0;i<n;i++)
scanf("%d",&shu[i]);
tt=(xnode *)malloc(sizeof(xnode));
tt->data=shu[0];
tt->next=NULL;
qq=tt;
for(i=1;i<n;i++)
{pp=(xnode *)malloc(sizeof(xnode));
pp->data=shu[i];
qq->next=pp;
qq=qq->next;
}
pp->next=NULL;
paixu(n,tt);
qq=tt;
printf("\n");
for(i=0;i<n;i++)
{printf("%d ",qq->data);
qq=qq->next;
}
printf("\n");
getchar();
}

搜索更多相关的解决方案: next  void  include  插入法  

----------------解决方案--------------------------------------------------------

怎么错了,说说现象,这样看的时候至少有个目标。
----------------解决方案--------------------------------------------------------
好象是链表连接的时候出现问题,但是我自己找不出来  郁闷啊
----------------解决方案--------------------------------------------------------
  相关解决方案