资源简介
【实验要求】
(1) 从键盘读入一组整数,按输入顺序形成顺序表。并将创建好的顺序表元素依次打印在屏幕上。
(2) 设计一个带选择菜单的主函数,菜单中具备任意选择删除、插入、查找数据元素的功能。
(3) 当选择删除功能时,从键盘读入欲删除的元素位置或元素值,按指定方式删除;当选择插入功能时,从键盘读入新元素值和被插入位置,在指定位置插入;当选择查找功能时,从键盘读入欲查找的元素值,返回其位置序号。
(4) 每种操作结束后,都能在屏幕上打印出此时顺序表元素的遍历结果。
代码片段和文件信息
#include “stdio.h“
#include “stdlib.h“
#define LISTSIZE 100
typedef int DataType;
typedef struct {
DataType items[LISTSIZE];
int length;
}SqList;
void Main_Chocie();
int InitList(SqList *L); /*顺序表初始化*/
int ListLength(SqList L); /*求顺序表表长*/
int ListEmpty(SqList L); /*判断空表*/
int ListInsert(SqList *L int position DataType item); /*顺序表的插入*/
int ListDelete_Pos(SqList *L int position DataType *item); /*顺序表的删除--位置*/
int ListDelete_Data(SqList *L int Data DataType item); /*顺序表的删除--元素*/
void Find(SqList L int Data_Value); /*顺序表的查找*/
int GetElem(SqList L int position DataType *item); /*顺序表的取值*/
int Traverse_List(SqList L); /*顺序表的遍历*/
int main(void)
{
int Choice i = 0 j position Data Flag = 0;
int Data_Value[LISTSIZE];
SqList L;
DataType item;
printf_s(“请输入要初始化后顺序表的值,表长最长为100,当输入完成后,按‘Enter‘键退出输入\n“);
while (i < LISTSIZE)
{
scanf_s(“%d“ &Data_Value[i++]);
if (getchar() == ‘\n‘)
break;
}
j = i;
InitList(&L);
for (i = 0; i < j; i++)
{
if (!ListInsert(&L i + 1 Data_Value[i]))
{
printf_s(“\n运行错误\n“);
}
}
printf_s(“\n建立顺序表成功\n“);
Traverse_List(L);
while (1)
{
Main_Chocie();
scanf_s(“%d“ &Choice);
switch (Choice)
{
case 1:
printf_s(“请输入要插入的位置和元素,例如输入(1 2)在第1个位置插入2:“);
scanf_s(“%d %d“ &position &Data);
Flag = ListInsert(&L position Data);
if (Flag == 1)
{
printf_s(“插入元素后的顺序表为:\n“);
Traverse_List(L);
}
break;
case 2:
printf_s(“请输入要删除的元素位置\n“);
scanf_s(“%d“ &position);
Flag = ListDelete_Pos(&L position &item);
if (Flag == 1)
{
printf_s(“\n删除的元素\t%d\n“ item);
printf_s(“\n删除后顺序表中的元素\n“);
Traverse_List(L);
}
break;
case 3:
printf_s(“请输入要删除的元素值\n“);
scanf_s(“%d“ &Data);
ListDelete_Data(&L Data item);
printf_s(“\n删除后顺序表中的元素\n“);
Traverse_List(L);
break;
case 4:
printf_s(“请输入要查找的元素值\n“);
scanf_s(“%d“ &Data);
Find(L Data);
printf_s(“\n此时顺序表中的元素\n“);
Traverse_List(L);
break;
case 5:
printf_s(“\n欢迎下次使用!谢谢!\n“);
return 0;
default:
printf_s(“\n\n输入错误!请重新输入\n\n“);
break;
}
}
}
/*顺序表初始化*/
int InitList(SqList *L)
{
L->length = 0;
return 1;
}
/*求顺序表表长*/
int ListLength(SqList L)
{
return L.length;
}
/*判断空表*/
int ListEmpty(SqList L)
{
if (L.length <= 0)
return 1;
else
return 0;
}
/*顺序表的插入*/
int ListInsert(SqList *L int position DataType item)
{
int i;
if (L->length >= LISTSIZE)
{
printf_s(“顺序表已满,无法进行插入操作!“);
return 0;
}
if (position <= 0 || positi
- 上一篇:vgg模型的复数域改进
- 下一篇:单链表的基本操作(实验)
相关资源
- 多传感器标定算法
- SVR算法程序可运行
- 计算机图形学 边填充算法实现代码
- 数据结构年终考题范围和答案 耿国华
- 福建师范大学历年算法考卷
- 栈的实现及应用,六种基本算法
- 数据结构 朱战力 习题解答 数据结构
- Bresenham算法绘制线段并利用“橡皮筋
- 介绍几种压缩算法及《笨笨数据压缩
- 改进的BP神经网络算法
- A星算法_原理讲解_例子
- 云模型的相关算法cloud
- 旋转矩阵求欧拉角的简单算法
- 数据结构课程设计 6 1 彩票系统
- 栅栏填充算法源码(VC)
- 教学计划编制系统
- 大数(链表、数组)实现
- RSA算法源码
- 关联分析Apriori算法实现
- [免费]relax算法成像
- 操作系统 LRU算法 实验报告 及 程序代
- 分治法快速排序算法QuickSort C
- 现代谱估计算法 music ESPRIT 谐波分解
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- 航空订票系统_数据结构课程设计
- 007出纳管理系统 v7[1].5.94 算法注册机
- 克鲁斯卡尔算法C和C 实现代码
- capon波束形成算法-VC实现
评论
共有 条评论