设计内容:建立一个带头的单链表:L={12,13,21,24}。结点的DATA域为整型数据,由键盘输入

来源:百度知道 编辑:UC知道 时间:2024/05/27 18:57:42
要求及说明:单链表的结点结构除数据域外,只含有一个指针域。注意头结点的建立方法;新元素插入的位置及指针的变化。

#include<stdio.h>
#include<stdlib.h>

typedef struct node{
int data;
struct node *next;
}*Linklist,Node;

Linklist creat(int n)
{
Linklist head,r,p;

int x,i;

head=(Node*)malloc(sizeof(Node));

r=head;

printf("输入数字:\n");

for(i=n;i>0;i--)
{
scanf("%d",&x);
p=(Node*)malloc(sizeof(Node));
p->data=x;
r->next=p;
r=p;
}

r->next=NULL;

return head;
}

Linklist selectsort(Node *g)
{
Node *p,*q,*t,*s,*h;
h=(Node *)malloc(sizeof(Node));
h->next=g;
p=h;
while(p->next->next!=NULL)
{
for(s=p,q=p->next;q->next!=NULL;q=q->next)
if(q->next->data<s->next->data)
s=q;
if(s!=q)
{
t=s->next;
s->next=t->next;