数据结构实验数组

发布 2019-07-09 02:14:55 阅读 3229

crosslist ma; int z;

* 主函数 */

void main()

creatmatrix(&ma);

out_m(ma);

} /main */

* 十字链表的输出 */

void out_m(crosslist m)

printf("");

printf(" 打回车键,返回。")ch=getchar();

void creatmatrix(crosslist *m)

p->right=q;

if(q==m->rh[row])m->rh[row]=p; else s->right=p;

在第col列上链接 */

q=m->ch[col];

while(q &&q->i < row)

p->down=q;

if(q==m->ch[col]) m->ch[col]=p; else s->down=p;

} /for */

}/*creatmatrix */

三、实习题。

上机调试上面给出的十字链表的程序,在此基础上增加查找功能:

1、给定一个数值 x ,查找确定它的位置(行下标i、列下标j);

2、给定一个矩阵元素aij位置(i,j),求出它的数据值是什么?

四、实验结果。

1、实例。2、实习题。

程序。#include <>

#include <>

typedef int etype;

typedef struct olnode

olnode数据元素结点类型 */

typedef struct

crosslist十字链表行、列表头 */

* 函数声明 */

void creatmatrix(crosslist *m);

void out_m(crosslist m);

void chazhao_ij(crosslist m);

void chazhao_x(crosslist m);

crosslist ma; int z;

* 主函数 */

void main()

creatmatrix(&ma);

out_m(ma);

chazhao_ij(ma);

chazhao_x(ma);

} /main */

* 十字链表的输出 */

void out_m(crosslist m)

printf("");

// printf(" 打回车键,返回。")

ch=getchar();

void creatmatrix(crosslist *m)

p->right=q;

if(q==m->rh[row])m->rh[row]=p; else s->right=p;

在第col列上链接 */

q=m->ch[col];

while(q &&q->i < row)

p->down=q;

if(q==m->ch[col]) m->ch[col]=p; else s->down=p;

} /for */

}/*creatmatrix */

void chazhao_ij(crosslist m)

int x,i,n=0; olnode *p;

printf(" 查找数值x=?"

scanf("%d",&x);

for(i=1; i<= i++)

p=p->right;

if (n==0) printf(" 没找到 ");

void chazhao_x(crosslist m)

int i,n; olnode *p;

printf(" 查找位置i,j=?"

scanf("%d,%d",&i,&n);

if (i>> printf(" 超出范围");

p=指向第i行 */

while(p)

if(p->j==n)

printf("%3d",p->e );

p=p->right;

五、实验总结。

1、熟悉并深入了解了稀疏矩阵的“三元组表”和“十字链表”存储结构。

2、运用它们进行矩阵简单运算处理。

数据结构,二维指针和数组 还有数据结构

自己建立头文件格式 include 指针 指针变量 是用来存放变量的存储地址的。p null int a 3 例如 p a 结论 p a p 3 指针变量定义的格式 类型名 指针名。最好采用int p 取值符号 后面加 地址 表示取这个地址里的值。地址符号 后面加 变量 表示取这个变量的地址。voi...

数据结构实验六图

1 掌握图的邻接矩阵和邻接表表示。2 掌握图的深度优先和广度优先搜索方法 3 理解图的应用方法。1 阅读并运行下面程序,根据输入写出运行结果。include define n 20 define true 1 define false 0 int visited n typedef struct 队...

数据结构实验队列 附程序

实验三队列。一 实验目的。1.了解队列的特性。2.掌握队列的顺序表示和实现。3.掌握队列的链式表示和实现。二 实验内容。实验3.3队列的顺序表示和实现。编写一个程序实现顺序队列的各种基本运算 采用循环队列 并在此基础上设计一个主程序,完成如下功能 1 初始化队列。2 建立顺序队列。3 入队。4 出队...

数据结构实验一顺序表的实现

班级学号姓名分数 一 实验目的 1.熟悉线性表的基本运算在两种存储结构 顺序结构和链式结构 上的实现 2.以线性表的各种操作的实现为重点 3.通过本次学习帮助学生加深c语言的使用,掌握算法分析方法并对已经设计出的算法进行分析,给出相应的结果。二 实验要求 编写实验程序,上机运行本程序,保存程序的运行...

数据结构实验一顺序表问题及实验报告Copy

实验一顺序表问题。实验报告 顺序表的查找 插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找 插入与删除。具体实现要求 1.从键盘输入10个整数,产生顺序表,并输出结点值。调试数据 9 8 7 6 5 4 3 2 1 2.从键盘输入1个整数,在顺序表中查找该结点。若找到,输出结点的位置...

数据结构实验 二叉树的操作

实验题目 二叉树的操作 实验者信息 班级 13007102,姓名庞文正,学号 1300710226 实验完成的时间 3 00 一 实验目的。1,掌握二叉树链表的结构和二叉树的建立过程。2,掌握队列的先进先出的运算原则在解决实际问题中的应用。3,进一步掌握指针变量 指针数组 动态变量的含义。4,掌握递...

数据结构 习题集

基础篇。习题1 一 选择题。1 计算机算法必须具备输入 输出 b 等5个特性。a 可行性 可移植性和可扩展性b 可行性 确定性和有穷性。c 确定性 有穷性和稳定性d 易读性 安全性和稳定性。2 在数据结构中,从逻辑上可以把数据结构分为 d a 动态结构和静态结构b 紧凑结构和非紧凑结构。c 内容结构...

数据结构实验报告实验三二叉树的建立与遍历

昆明理工大学信息工程与自动化学院学生实验报告。201 201 学年第一学期 课程名称 数据结构开课实验室年月日。一。实验内容 二叉树的建立与遍历,其中遍历有前序遍历,中序遍历和后序遍历。以及二叉树中序线索化及线索化遍历。二。实验目的 学会二叉树二叉链表非线性存储结构上实现的各种算法。三。主要程序 分...