(指导老师:沈晓峰) 实验目的:理解线性结构的基本概念,掌握两种基本的存储结构:顺序存储结构(顺序表)和链式存储结构(单链表);用C语言实现在两种存储结构上的对应操作(包括创建、删除、插入元素、遍历等),巩固强化C程序设计的基本方法和能力。
实验内容: 1、实现顺序表的创建、元素删除、插入、打印等操作(可设数据元素类型为整数):
A.编写初始化函数,初始化一个空的顺序表; B.编写函数实现对一个空的顺序表赋值,各数据元素的值从键盘依次获取; C.编写删除函数,实现删除顺序表中第i个元素的操作; D.编写打印函数,实现对顺序表中各个元素依次打印; E.编写插入函数,在顺序表中的第i个位置插入一个元素x。 F.编写函数,删除顺序表中所有值为负的元素。
编写主函数main,调用上述函数依次完成:调用A,初始化顺序表调用B,对该顺序表赋值调用D,打印顺序表的中各个元素调用C,删除表中的第i个元素(i的值从键盘输入调用D,打印顺序表的中各个元素调用E,在顺序表的第i个位置插入一个元素x(i和x的值从键盘输入)打印顺序表的中各个元素调用F,删除小于0的元素调用D,打印顺序表的中各个元素。
2、实现下列单链表的初始化、创建、插入、删除等操作:
A.编写初始化函数,初始化一个空链表。 B.编写单链表生成算法,生成一个带头结点的单链表。 C.编写函数统计单链表的长度。 D.编写查找函数,实现在单链表中查找值为x的结点,若查找成功则返回结点序号(若查找失败则返回 -1)。 E.编写函数实现对单链表中相邻重复结点的删除,如原链表中元素为{1-2-2-3-4-6-6-6-2},则删除后链表变为 {1-2-3-4-6-2}。 F.编写插入函数,在单链表的第i个位置插入一个值为x的元素。 G.编写打印函数依次打印单链表中的各个结点元素。
编写主函数main,调用上述函数依次完成:初始化一个空链表调用单链表生成函数,建立一个的单链表打印各结点元素统计表长(数据结点个数)在表中查找数据为3的结点,打印查找结果在表中查找数据为7的结点,打印查找结果对当前单链表执行删除相邻重复结点的操作打印各结点元素在表中第i个位置插入值为x的元素打印各结点元素。