搜索
您的当前位置:首页正文

实验2-链表

来源:爱够旅游网
实验2 链表

(时间:2011年10月11日 地点:新实验楼5428)

1、实验目的

(1)掌握用 C语言调试程序的基本方法。

(2)掌握链表的基本运算,如建立、插入、删除、查找等。

2、实验内容

线性表在链式存储结构上的建立、插入、删除、查找运算。

3、实验步骤

(1)建立单链表L并输出;

(2)在表L的第3个位置插入元素666; (3)删除表L的第8个元素;

(4)在表L中查找第3个元素并输出查找结果;

(5)在表L中查找其值为65的元素并输出查找结果。

根据步骤可知,需定义6个子函数:create_linklist(), print_linklist(), insert_linklist(), delete_linklist(), get_linklist(), locate_seqlist()。

4、算法思想

(1)单链表的建立

(请填入内容,用文字表达) (2)单链表的插入

(请填入内容,用文字表达) (3)单链表的删除

(请填入内容,用文字表达) (3)单链表的按序号查找 (请填入内容,用文字表达) (4)单链表的按值查找

(请填入内容,用文字表达)

5、源程序

(下面给出程序框架,请将程序补充完整。注意:代码可打印,一定要加注释。) 【程序框架】 #include\"stdio.h\" #include\"stdlib.h\" typedef int datatype; typedef struct node

{datatype data; struct node *next;

}lnode,*linklist; /*单链表类型定义*/

/**********函数声明**********/ linklist create_linklist(); void print_linklist(linklist l);

void insert_linklist(linklist l,int i,datatype x); void delete_linklist(linklist l,int i); lnode *get_linklist(linklist l,int i);

lnode *locate_linklist(linklist l,datatype x);

/**********主函数**********/ void main()

{linklist l;lnode *p; l=create_linklist();

print_linklist(l); /*第1步*/ insert_linklist(l,3,666);

print_linklist(l); /*第2步*/ delete_linklist(l,8);

print_linklist(l); /*第3步*/

p=get_linklist(l,3);

if(p==NULL)printf(\"have not this element\\n\"); else printf(\"%d\\n\ /*第4步*/ p=locate_linklist(l,65);

if(p==NULL)printf(\"have not this element\\n\"); else printf(\"%d\\n\ /*第5步*/ }

/**********子函数**********/

linklist create_linklist()/*用尾插法建立一个带头结点的单链表L,返回其头指针L*/ {

}

void print_linklist(linklist l)/*输出单链表L中各结点的值*/ {

}

void insert_linklist(linklist l,int i,datatype x)/*在单链表L的第i个位置插入元素x*/ {

}

void delete_linklist(linklist l,int i)/*删除单链表L中第i个元素*/ {

}

lnode *get_linklist(linklist l,int i)/*查找单链表L中第i个元素*/ {

}

lnode *locate_linklist(linklist l,datatype x)/*查找单链表L中其值等于x的元素*/ { }

6、测试数据及运行结果 (请填入内容)

7、实验小结 (请填入内容)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top