实验1、2:线性表的应用参考代码
一、实验预备知识
1.复****C中编写函数的相关内容。
2。复****如何用主函数将多个函数连在一起构成一个C完整程序。
二、实验目的
1。掌握线性表的顺序和链式存储结构
2.熟练运用线性表在顺序存储方式下的初始化、创建、输出、插入和删除运算
3.熟练运用线性表在链式存储方式下的创建、输出、插入和删除运算
三、实验要求
.
,要判断位置的合法性和溢出问题.
3。编写有序表的插入和删除运算算法。
,将上面函数连在一起,构成一个完整的程序。
5.将实验源程序调试并运行,写出输入、输出结果,并对结果进行分析。
四、实验内容
顺序表实验内容:
=(12,25,7,42,19,38),元素由键盘输入。
2。初始化并建立顺序表。(开辟的存储空间大小为8)
3。编写顺序表输出算法.
4。依次插入3、21、15、99四个数,分别插入在第1、8、4和12位置,每插入一次都要输出一次顺序表.
5。删除第1,第9和第12个位置上的元素,每删除一个元素都要输出一次顺序表。
,对线性表中元素从小到大排列.
7.向有序表分别插入20和50,插入后表仍然有序。(修改开辟的存储空间大小为15)
单链表实验内容:
1。给定的线性表为L=(12,25,7,42,19,38),元素由键盘输入。
2.建立一个带表头结点的单链表(前插入法和尾插入法均可)。
.
4.依次插入3、21、15、99四个数,分别插入在第1、8、4和12位置,每插入一次都要输出一次单链表.
5。删除第1,第9和第12个位置上的元素,每删除一个元素都要输出一次单链表.
,对链表中元素从小到大排列。
7。向有序链表分别插入20和50,插入后表仍然有序。
五、实验结果
顺序表源程序:
#include 〈iostream〉
using namespace std;
const int MAXSIZE=8; //做有序表插入操作时,将8改为15
typedef int DataType;
typedef struct
{
ﻩDataType data[MAXSIZE];
ﻩint length;
}SeqList;
void Init_SeqList(SeqList &L);//创建空顺序表算法
void Show_SeqList(SeqList L);//顺序表输出算法
void Create_SeqList(SeqList &L);//顺序表创建算法
int Insert_SeqList(SeqList &L,DataType x,int i);//顺序表的插入算法
int Delete_SeqList(SeqList &L,int i);//顺序表的删除算法
int Locate_SeqList(SeqList L,DataType x);//顺序表的按值查找算法
void Sort_SeqList(SeqList &L);//顺序表的排序算法
int Insert_SeqList_sort(SeqList &L,DataType x);//有序表的插入算法
void Merge(SeqList LA,SeqList LB,SeqList &LC);//两个有序顺序表的合并算法
void menu(); //菜单算法
void main()
{ menu(); }
void menu()//菜单算法
{
ﻩ SeqList L;
ﻩ Init_SeqList(L);
int m;
while(1)
ﻩ {
ﻩﻩcout〈<”\n根据所做操作选择以下数字序号:”〈〈endl;
cout<〈”1:创建顺序表 2:执行插入操作 3:执行删除操作"<<endl;
cout<〈”4:执行输出操作 5:执行查找操作 6:执行排序操作"<〈endl;
ﻩ cout<〈"7:执行有序表的插入操作 8:执行有序表的合并操作 0:退出"<<endl;
ﻩ int n,i,x;
ﻩ cin〉>n;
ﻩ switch (n)
ﻩﻩ{
ﻩ case 1:
ﻩﻩﻩ{
Create_SeqList(L);
ﻩﻩ break;
ﻩﻩﻩ}
实验12顺序表和链表基本操作参考答案 来自淘豆网www.taodocs.com转载请标明出处.