《算法与数据结构》实验指导书
要求:同时用栈和队列,将输入的元素分别进栈和进队列,然后退栈和出队,若两者
出来的顺序相同则是“回文”。
实验五 多维数组
一、实验目的:
1. 掌握多维数组数据类型的描述及特点。
2. 掌握多位数组的顺序和链式两种存储结构的特点及算法描述。 3. 掌握稀疏矩阵在两种不同存储结构上的算法实现。
二、实验内容:
1. 建立稀疏矩阵的十字链表输出。 2. 用三元组表实现稀疏矩阵的转置。 三、实验要求:
1. 根据实验内容编程,上机调试、得出正确的运行程序。 2. 写出实验报告(包括源程序和运行结果)。
四、实验学时:4学时 五、实验步骤:
1.进入编程环境,建立一新文件;
2. 先定义稀疏矩阵的类型,用子函数建立十字链表,最后在主函数中调用。 3. 将稀疏矩阵的三元组按行优先从键盘输入,然后调用转置算法,实现稀疏矩阵转
置。
4. 编译运行程序,观察运行情况和输出结果。 部分实验代码: ⑴ 三元组顺序表结构的定义 #define maxsize 255 typedef int elemtype; typedef struct { int i,j;
elemtype e; }triple; typedef struct { int mu,nu,tu;
triple data[maxsize]; }tsmatrix; ⑵ 矩阵的转置运算
void transposesmatrix(tsmatrix M,tsmatrix T) { int q,col,p;
T.mu=M.nu; T.nu=M.mu; T.tu=M.tu;
if(T.tu!=0) { q=1;
for(col=1;col<=M.nu;++col)