- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法上机实验报告
数据结构
第1次 2011-10-02 顺序表的实现和基本操作 第2次 2011-10-29 二叉树的实现和递归遍历 第3次 2011-11-23 内部排序 第4次 2011-12-dd 实现图从邻接矩阵到邻接表存储转化
线性表数据结构
一、上机实习题目
线性链表操作——插入、删除、合并、排序、查找#include iostream
#define MaxSize 100
using namespace std;
typedef int ElemType;
class SeqList
{
ElemType list[MaxSize];
int length;
public:
SeqList() {length=0;}
void SeqListSort(int i,ElemType x);
void SeqListCreat(int n);
void SeqListInset(int i,ElemType x);
void SeqListDelete(int i);
void SeqListMerge();
int GetLength(){return length;}
int SeqListFind(ElemType x);
int SeqListIsEmpty();
void SeqListPrint();
}Mylist1,Mylist2;
//创建顺序表
void SeqList::SeqListCreat(int n)
{
ElemType x;
cout请输入数据元素:;
for (int i=0;in;i++)
{
cinx;
list[i]=x;
length++;
}
}
//对顺序表进行排序
void SeqList::SeqListSort(int i,ElemType x)
{
for(int k=0;klength;k++)
{
for(i=k+1;i=length;i++)
{
if(list[k]list[i])
{
x=list[k];
list[k]=list[i];
list[i]=x;
}
}
}
}
//在顺序表L中的第i个位置插入新元素x
void SeqList::SeqListInset(int i,ElemType x)
{
int k;
if(length=MaxSize)
cout表已满,无法插入!endl;
else if(i0||ilength)
cout参数i不合理!endl;
else
{
for (k=length;k=i;k--)
{list[k]=list[k-1];}
list[i-1]=x;
length++;
}
}
//删除第i个位置的数据元素
void SeqList::SeqListDelete(int i)
{
int k;
if(!SeqListIsEmpty())
cout表已空,无法删除!endl;
else if(i0||ilength)
cout参数i不合理!endl;
else
for(k=i-1;klength;k++)
list[k]=list[k+1];
length--;
}
//查找元素x在表中的位置
int SeqList::SeqListFind(ElemType x)
{
int i=0;
while(ilengthlist[i]!=x)i++;
if(ilength)return -1;
else
return i+1;
}
//判断顺序表是否为空
int SeqList::SeqListIsEmpty()
{
if(length=0)return 0;
else return 1;
}
//将顺序表显示在屏幕上
void SeqList::SeqListPrint()
{
if(!SeqListIsEmpty())
cout空表!endl;
else
for(int i=0;ilength;i++)
coutlist[i] ;
coutendl;
}
int main()
{
SeqList Mylist1,Mylist2;
int i,n,flag=1,select;
ElemType x;
cout1. 建立顺序表\n;
cout2. 对顺序表进行排序\n;
cout3. 求x数值的位置\n;
cout4
您可能关注的文档
- 数据库课程设计 2017.ppt
- 数据结构 第1次上机作业 相关资料【HSH】2017-03-28 单链表, 补充.doc
- 数据结构 第9章(内排序).ppt
- 数据结构((本)期末综合练习(2017年12月).doc
- 数据结构(C语言)第二次作业.doc
- 数据结构(严蔚敏)课件 第2章 线性表B(链式存储概述).ppt
- 数据结构--表达式求值.doc
- 数据结构.第2章.线性表.1.链式.pptx
- 数据结构002.ppt
- 数据结构2017.ppt
- 13SG364 预制清水混凝土看台板.docx
- 13SG905-1 房屋建筑工程施工工艺图解.docx
- 13SG905-2 房屋建筑工程施工工艺图解.docx
- 05G525 吊车轨道联结及车挡(适用于钢吊车梁).docx
- 08SG618-3 农村民宅抗震构造详图(生土结构房屋).docx
- 05G514-3 12m实腹式钢吊车梁(中级工作制 A4 A5 Q345钢).docx
- 03G322-3钢筋混凝土过梁(混凝土小型空心砌块砌体).docx
- 03SG435-1 预应力混凝土圆孔板(预应力钢筋为螺旋肋钢丝,跨度2.1m~4.8m).docx
- 03SG435-2 预应力混凝土圆孔板(预应力钢筋为螺旋肋钢丝,跨度4.8m~7.2m).docx
- 04G321 钢筋混凝土连系梁.docx
文档评论(0)