#include<stdio.h>
#include<stdlib.h>
typedef int elemtype;
typedef struct node
{
elemtype data;
struct node *next;
}*linklist,node;
linklist initlinklist()
{
linklist h=(node*)malloc(sizeof(node));
h->next=NULL;
return h;
}
void insertlinklisth(linklist h,elemtype x)
{
node *s=(node*)malloc(sizeof(node));
s->data=x;
s->next=h->next;
h->next=s;
}
void tranverse(linklist h)
{
node *p;
p=h->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
putchar('\n');
}
int lenliklist(linklist h)
{
node *p;
int len=0;
p=h->next;
while(p!=NULL)
{
len++;
p=p->next;
}
return len;
}
node* searchlinklist(linklist h,elemtype x)
{
node *p;
p=h->next;
while(p!=NULL)
if(p->data==x)
break;
else
p=p->next;
return p;
}
node* searchlinklisti(linklist h,int i)
{
node *p;
int count=0;
p=h->next;
while(p!=NULL)
{
count++;
if(count==i)
break;
else
p=p->next;
}
return p;
}
void insertlinklistt(linklist h,elemtype x)
{
node *r;
node *s=(node*)malloc(sizeof(node));
s->data=x;
r=h;
while(r->next!=NULL)
r=r->next;
s->next=NULL;
r->next=s;
r=s;
}
void insertlinklistsort(linklist h,elemtype x int i)
{
node *p,*s;
s=(node*)malloc(sizeof(node));
s->data=x;
p=h;
while(p->next!=NULL)
{
if(p->next->data<x)
p=p->next;
else
break;
}
s->next=p->next;
p->next=s;
}
void main()
{
node* p;
linklist h=initlinklist();
insertlinklistsort(h,15);
insertlinklistsort(h,5);
insertlinklistsort(h,555);
tranverse(h);
}
数据结构_链表详细代码
最新推荐文章于 2024-04-23 15:14:23 发布