![](https://csdnimg.cn/release/download_crawler_static/79314145/bg1.jpg)
1
一、上机实验的问题和要求:
顺序表的查找、 插入与删除。 设计算法, 实现线性结构上的顺序表的产生以及元素的查
找、插入与删除。具体实现要求:
1. 从键盘输入 10 个整数,产生顺序表,并输入结点值。
2. 从键盘输入 1 个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置; 若找
不到,则显示“找不到” 。
3. 从键盘输入 2 个整数,一个表示欲插入的位置 i,另一个表示欲插入的数值 x,将 x 插
入在对应位置上,输出顺序表所有结点值,观察输出结果。
4. 从键盘输入 1 个整数,表示欲删除结点的位置, 输出顺序表所有结点值, 观察输出结果。
二、源程序及注释:
#include <stdio.h>
#include <stdlib.h>
/* 顺序表的定义: */
#include<iostream.h>
#define ListSize 100 /* 表空间大小可根据实际需要而定,这里假设为 100*/
typedef int DataType; /*DataType 可以是任何相应的数据类型如 int, float 或 char*/
typedef struct
{ DataType data[ListSize]; /* 向量 data 用于存放表结点 */
int length; /* 当前的表长度 */
}SeqList;
void main()
{
SeqList L;
int i,x;
int n=10; /* 欲建立的顺序表长度 */
L.length=0;
void CreateList(SeqList *L,int n);
void PrintList(SeqList L,int n);
int LocateList(SeqList L,DataType x);
void InsertList(SeqList *L,DataType x,int i);
void DeleteList(SeqList *L,int i);
CreateList(&L,n); /* 建立顺序表 */
PrintList(L,n); /* 打印顺序表 */
printf(" 输入要查找的值: ");
scanf("%d",&x);
i=LocateList(L,x); /* 顺序表查找 */
printf(" 输入要插入的位置: ");
scanf("%d",&i);
printf(" 输入要插入的元素: ");
scanf("%d",&x);