- 20
- 0
- 约1.04万字
- 约 22页
- 2016-01-08 发布于湖北
- 举报
数据结构课程设计实验1-4(C语言).doc
实验一 顺序表的操作
1、实验目的和要求:
1)了解顺序表的基本概念、顺序表结构的定义及在顺序表上的基本操作(插入、删除、查找以及线性表合并)。
2) 通过在visual C++实现以上操作的C语言代码。
3)提前了解实验相关的知识(尤其是C语言)。
2、实验内容:
1) 顺序表的插入算法,删除算法,顺序表的合并算法
2) 顺序表应用的实例(二选一)
a) 利用顺序表的基本运行,实现如果在顺序表A中出现的元素,在顺序表B中也出现,则在顺序表A中将该元素删除。及实现A-B。
b) 顺序表A和B的元素都是非递减排列,将他们合并成一个顺序表C,要求C也是非递减排列。
3、部分参考实验代码:
⑴ 顺序表结构的定义:
#include stdio.h
#define ListSize 100
typedef int DataType;
typedef struct
{
DataType list[ListSize];
int length;
}SeqList;
⑵ 顺序表插入(在第i号元素前插入一个新的元素)
int InsertList(SeqList *L,int i,DataType e)
/*在顺序表的第i个位置插入元素e,插入成功返回1,如果插入位置不合法返回-1,顺序表满返回0*/
{
int j;
if(i1||iL-length+1) /*在插入元素前,判断插入位置是否合法*/
{
printf(插入位置i不合法!\n);
return -1;
}
else if(L-length=ListSize)
/*在插入元素前,判断顺序表是否已经满,不能插入元素*/
{
printf(顺序表已满,不能插入元素。\n);
return 0;
}
else
{
for(j=L-length;j=i;j--)/*将第i个位置以后的元素依次后移*/
L-list[j]=L-list[j-1];
L-list[i-1]=e; /*插入元素到第i个位置*/
L-length=L-length+1; /*将顺序表长增1*/
return 1;
}
}
⑶ 顺序表删除
int DeleteList(SeqList *L,int i,DataType *e)
{
int j;
if(L-length=0)
{
printf(顺序表已空不能进行删除!\n);
return 0;
}
else if(i1||iL-length)
{
printf(删除位置不合适!\n);
return -1;
}
else
{
*e=L-list[i-1];
for(j=i;j=L-length-1;j++)
L-list[j-1]=L-list[j];
L-length=L-length-1;
return 1;
}
实验二 单链表的操作
1、实验目的
1)掌握用Visual C++6.0上机调试单链表的基本方法
2)理解链表的基本操作、了解链表的建立和输出
3)掌握链表的插入、删除、合并和归并等实现方法
2、实现内容
1、单链表基本操作的实现
2、链表应用的实例(二选一)
a) 利用链表的基本运行,实现如果在链表A中出现的元素,在链表B中也出现,则在链表A中将该元素删除。
b)、约瑟夫(Josephus)问题的求解(循环链表的使用,使用C和C++语言均可)。
假设有编号为1,2,……,n的n个人围坐成一圈,约定从编号为k(n=k=1)的人开始报数,数到m的那个人出列,他的下一个人从1开始重新报数,数到m的那个人出列,依次类推,直到所有的人全部出列为止,由此产生一个出队编号的序列。
1、给定一个8个人的圈(n=8)6 2 7 4 3 5 1 8 。
3、部分参考实验代码:
1、结点定义
typedef int DataType;
typedef struct Node
{
DataType data;
struct Node *next;
}ListNode,*LinkList;
2、单链表初始化
void InitList(LinkList *head)
/*将单链表初始化为空。动态生成一个头结点,并将头结点的指针域置为空。*/
{
if((*head=(LinkList)malloc(sizeof(ListNode)))==NULL) /*为头结点分配一个存储
您可能关注的文档
- 教学设计二PPT.ppt
- 教师业务档案管理系统的设计与实现(含代码).doc
- 教师心理健康调适策略(2014.8.7).ppt
- 教师暑期培训.ppt
- 教师用八年级物理下知识点.doc
- 教师研修平台认证.ppt
- 教师读书分享会.ppt
- 教师资格考试综合能力测试常见问题及解答.ppt
- 教材创新教法,推进语文整体改革.ppt
- 教案 分子间的相互作用力00000.ppt
- 2026年修水县投资集团有限公司招聘备考题库及1套参考答案详解.docx
- 2026年佛山市顺德区伦教周君令初级中学招聘临聘教师备考题库完整参考答案详解.docx
- 2026年佛山市禅城区东鄱小学招聘备考题库带答案详解.docx
- 2026年关于库尔勒梨城建设有限公司公开选聘副总经理的备考题库及一套参考答案详解.docx
- 2026河南郑州市第一〇三高级中学招聘教育部直属师范大学公费师范毕业生10人参考题库附答案.docx
- 2026中国标准化研究院办公室法律事务岗企业编制职工招聘1人参考题库附答案 (2).docx
- 2026年儋州市第二中学招聘代课教师备考题库及完整答案详解一套.docx
- Unit 2 Stay Healthy Section A 知识清单 2025-2026学年人教版八年级英语下册.doc
- 2025年郑州卫生健康职业学院马克思主义基本原理概论期末考试模拟题带答案解析(夺冠).docx
- 2025年闽南科技学院马克思主义基本原理概论期末考试模拟题带答案解析(夺冠).docx
最近下载
- 雕塑维护方案养护.docx VIP
- 四川省成都市树德实验中学2024-2025学年七年级上学期期末考试道德与法治试题.docx VIP
- 对照不同光质补光对转色期葡萄品质和成分影响的初步探究.docx VIP
- 金属切削原理与刀具 配套课件.ppt
- T∕JNBDA 0009-2025 生殖医学高质量数据集建设规范.pdf VIP
- 上海高考:地理高频考点汇总.doc VIP
- 卫生部手术分级目录(2025年1月份修订).doc VIP
- DB11T 1087-2025公共建筑装饰装修工程质量验收标准.docx VIP
- 小学快乐体育教学活动的研究与实践课题研究报告.docx VIP
- 02S515 排水检查井图集建筑工程图集.docx VIP
原创力文档

文档评论(0)