数据结构。
课程设计。二o一o 年十二月二十二日。
1.设计题目。
*问题描述:
利用链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。
2.运行环境。
windows vista,microsoft visual studio 2010
3.算法设计的思想。
3.1 确定表的长度n,即求表中数据元素的个数;
3.2 读表:从左到右(或从右到左)读表,即按a1,a2,……an(或an,an-1 ,…a1 )读取数据元素的值;
3.3 检索:即在表中查找具有某个特征值的数据元素;
3.4 改写:修改、存入表中第i个数据元素(1≤i≤n),即给第i个数据元素赋值;
3.5 插入:在第i-1个和第i个数据元素之间(1≤i≤n)插入一个新的数据元素,使原来的第i,i+1,……n个数据元素变成为第i+1,i+2,……n,n+1个数据元素;
3.6 删除:删除第i个数据元素(1≤i≤n),使原来的第i+1,i+2,……n 个数据元素变成为第i,i+1,……n-1个数据元素;
3.7 排序:即按某个特征值递增(或递减)的顺序对表中的数据元素重新排列。
3.8 归并:将两个以上的有序线性表合并成一个新表。
4.算法的流程图。
5.算法设计分析。
系统提供的功能有:线性表的初始化操作,插入元素,删除元素,显示所有元素,排序和查找第i个元素。用户可根据显示菜单来进行相关操作。
插入一个元素:例如在第i个元素之前插入一个元素,首先要将尾元素到第i个元素向后移动一位,再将新元素传送到第i个位置,即可。
删除一个元素:例如删除第i个元素时,要将第i+1个元素到最后一个元素向前移到一位。尾数置零。
6.源**。
#include ""
main()
int a[10],de=0,i=0,data=0,locate=0,t=0,j=0;
printf("请依次输入10个输入数据:");
for(i=0;i<10;i++)
printf("");
for(i=0;i<10;i++)
for(;;
for(i=de;i<9;i++)
a[i]=a[i+1];
a[9]=0;
if(j==2)
for(i=8;i>=locate;i--)
a[i+1]=a[i];
a[locate]=data;
if(j==3)
if(j==4)
printf("%d", a[locate]);
if(j==5)
if(j==0)
if(j>5)
7.运行结果分析。
7.1依次输入十个数据。
7.2遍历。
输入0选项实现数字的遍历,按顺序显示输入的数据。
7.3删除。
删除数据范围内的数字。删除后,后位数字依次向前移位,末位补0。
删除数据范围外的数字,显示超出范围请重新输入。
7.4插入。
插入数据位置在范围内。
插入数据位置超出范围,显示超出范围请重新输入。
7.5排序。
对数据进行升序排列。
7.6查找。
按位置查找,查找数据位置范围内,显示该位置数字。
按位置查找。查找超出数据表范围,显示超出范围请重新输入。
7.7退出。
输入指令**5,退出程序。
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...
数据结构课程设计
数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...
数据结构课程设计
班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...