输入int型数据
数据大于32767或小于-32768
结束创建链表
然后按降输出
#include
#include
#include
typedef int ElemType;
typedef struct linklist
{
struct linklist *next;
ElemType data;
}Node,*linklist;
linklist creatFromHead(void)
{
int n;
linklist h;
Node *node;
h=(linklist)malloc(sizeof(Node));
h->next=NULL;
scanf("%d",&n);
while(n>32767||n<-32768)
{
node=(linklist)malloc(sizeof(Node));
node->next=h->next;
h->next=node;
node->data=n;
scanf("%d",&n);
}
return(h);
}
int len(linklist h)
{
int i=0;
while(h->next!=NULL)
{
h=h->next;
i++;
}
return(i);
}
void insSort(linklist h)
{
int i,j,l;
linklist p1,p2;
l=len(h);
for(i=1;i
p1=h->next;
p2=h->next->next;
for(j=1;j<=l-i;j++)
{
if(p1->data
{
p1->data=p1->data^p2->data;
p2->data=p1->data^p2->data;
p1->data=p1->data^p2->data;
}
p1=p1->next;
p2=p2->next;
}
}
}
void print(linklist h)
{
while(h->next!=NULL)
{
printf("%d ",h->next->data);
h=h->next;
}
putchar('\n');
}
int main(void)
{
linklist l;
l=creatFromHead();
print(l);
insSort(l);
print(l);
system("pause");
return(0);
}