首页 > 编程知识 正文

基础数据结构与算法,数据结构头文件链表

时间:2023-05-04 04:22:25 阅读:163895 作者:2618

#include stdio.h

#include stdlib.h

//

/*实现链表的头文件、文件名slnklist.h */

//

typedef int datatype;

typedef struct link_node{

datatype info;

struct link_node *next;

}node;

typedef node *linklist;

//

/函数名称: creatbystack(/

(函数功能)使用头插入法创建单个链接列表/

//

链接列表创建堆栈(

{ linklist head,s;

datatype x;

头=空;

printf (“请输入一些整数序列:n”)

scanf('%d ',x );

while(x!=0)/0时结束输入/

{s=(linklist ) malloc (sizeof ) node ); /生成要插入的节点/

s-info=x;

s-next=head; /将新节点插入链表的开头/

头=s;

scanf('%d ',x );

}

返回头; /返回到创建的单链表/

}

//

/函数名称: creatbyqueue(/

(函数功能)尾插法创建单链接列表/

//

链接列表creatbyqueue (

{

linklist head,r,s;

datatype x;

头=r=空;

printf (“请输入一些整数序列:n”)

scanf('%d ',x );

while(x!=0)/0时结束输入/

{s=(linklist ) malloc (sizeof ) node );

s-info=x;

if (头=空) /在链表的末尾插入新节点/

头=s;

else

r-next=s;

r=s;

scanf('%d ',x );

}

if r-next=NULL;

返回头; /返回到创建的单链表/

}

//

/函数名称: print () /

(函数功能)输出没有开头节点的单链接列表/

//

void print (链接列表)。

{ link list p;}

int i=0;

p=head;

打印(“listis :n”);

while

{

printf ()、p-info ();

p=p-next;

I;

if(I==0) printf () (n );

}

打印((n );

}

//

/函数名称: delList () /

(函数功能)释放没有开头节点的单链接列表/

//

voiddellist (链接列表) )。

{ linklist p=head;

while

{ head=p-next;

自由;

p=head;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。