其中一部分是自己写得,一部分是摘录的,希望站长能批准,我以后一定多多努力上传!

源代码在线查看: 单向链表排序..txt

软件大小: 8 K
上传用户: bobey
关键词:
下载地址: 免注册下载 普通下载 VIP

相关代码

				单向链表排序.
				#include 
				typedef struct Link
				{
				 int data;
				 struct Link *next;
				}linkx,*linky;
				linky Init()
				{
				 linky head,p,q,s;
				 int n=0;
				 clrscr();
				 printf("please input 10 num: ");
				 head=s=(linky)malloc(sizeof(linkx));
				 scanf("%d",&s->data);
				 s->next=NULL;
				 n++;
				 while(n!=10)
				 {
				  s=(linky)malloc(sizeof(linkx));
				  scanf("%d",&s->data);
				  p=head;/*每输入一次使用插入的办法排序*/
				  if(s->datadata)/*小于头结点*/
				  {
				   s->next=head;
				   head=s;
				  }
				  else/*其他情况*/
				  {
				   while(s->data>p->data&&p!=NULL)
				   {
				   q=p;
				   p=p->next;
				   }
				   if(p==NULL)/*这个数是当前最大的数*/
				   {
				   q->next=s;
				   s->next=NULL;
				   }
				   else
				   {
				   s->next=q->next;
				   q->next=s;
				   }
				  }
				  n++;
				 }
				 return head;
				}
				void Pr(linky p)/*输出链表*/
				{
				 linky q;
				 printf("Now:\n");
				 while(p!=NULL)
				 {
				 q=p;
				 printf("%d ",p->data);
				 p=p->next;
				 free (q);
				 }
				 getch();
				}
				void main(void)
				{linky head;
				 head=Init();
				 Pr(head);
				}
							

相关资源