实验一、线性表操作
一、实验目的
1.掌握用 C语言调试程序的基本方法。
2.掌握线性表的基本运算,如插入、删除等。
二、实验内容
1.线性表在顺序存储结构上的插入元素,删除元素运算
2.线性表在链式存储结构上的建链表,插入结点,删除结点运算
三、实验要求
1. C++/C完成算法设计和程序设计并上机调试通过。
2. 撰写实验报告,提供实验结果和数据。
3. 分析算法,要求给出具体的算法分析结果,包括时间复杂度和空间复杂度,并简要给出算法设计小结和心得。
四、程序实现
写出每个操作的算法
五、程序运行情况
写出输入数据及运行结果
附:源程序清单(仅供参考)
程序1:顺序存储的线性表和运算
#include
#define MAXSIZE 100
int list[MAXSIZE];
int n;
/*insert in a seqlist*/
int sq_insert(int list[], int *p_n, int i, int x)
{int j;
if (i<0 || i>*p_n) return(1);
if (*p_n==MAXSIZE) return(2);
for (j=*p_n+1; j>i; j--)
list[j]=list[j-1];
list[i]=x;
(*p_n)++;
return(0);
}
/*delete in a seq list*/
int sq_delete(int list[], int *p_n, int i)
{int j;
if (i<0 || i>=*p_n) return(1);
for (j = i+1; j<=*p_n; j++)
list[j-1] = list[j];
(*p_n)--;