📄 单向链表排序..txt
字号:
单向链表排序.
#include <stdio.h>
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->data<=head->data)/*小于头结点*/
{
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);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -