失效链接处理 |
数据结构实验报告 PDF 下载
本站整理下载:
相关截图:
![]()
主要内容:
1. 设计任务
若线性表中的元素全为整数,利用线性表的顺序存储结构,实现下面功能:
①编写四个函数,分别实现线性表的初始化操作,查找元素操作,插入元素操作和删除元素操作。
②在主函数中调用初始化操作函数,初始化顺序表。
③在主函数中调用插入元素操作函数,在初始化的线性表中插入6个整数元素。
④线性表中插入6个整数元素后,在主函数中调用查找元素操作函数,在该线性表中查找整数e,e是用户输入的一个值。
⑤在主函数中调用删除元素操作函数,将线性表中的第K个元素删除,k是用户输入的值。
2实现过程
【源程序代码】
#include <process.h>
#include <stdio.h>
#define MaxSize 100//线性表的顺序存储类型的定义
typedef int DataType;
typedef struct
{
DataType data[MaxSize];
int length;
}SeqList;
SeqList *L;
void InitList(SeqList *L)//初始化
{
L->length=0;
}
void InsertList(SeqList *L,int i,DataType x)//插入元素
{
int j;
if(i<1||i>L->length+1)
{
printf("插入位置只能介于1至n+1!");
exit(1);
}
if(L->length==MaxSize)
{
printf("顺序表已满!");
exit(1);
}
for(j=L->length-1;j>=i-1;j--)
L->data[j+1]=L->data[j];
L->data[i-1]=x;
L->length++;
}
int LocateList(SeqList *L,DataType e)//查找元素
{
int i;
i=0;
while(i<L->length&&L->data[i]!=e)
i++;
if(i<L->length)
return i+1;
else
return 0;
}
void DaleteList(SeqList *L,int i)//删除元素
{
int j;
if(i<1||i>L->length)
{
printf("position error");
exit(1);
}
for(j=i;j<=L->length -1;j++)
L->data[j-1]=L->data[j];
L->length --;
}
void PrintList(SeqList *L)//输出所有元素
{
int i;
printf("顺序表中元素为:\n");
for(i=0;i<L->length ;i++)
printf("%d",L->data[i]);
printf("\n");
}
int main()
{
SeqList l;
InitList(&l);//调用初始化
printf("请输入1-100中的整数,输入0结束:\n");
PrintList(&l);
printf("\n");
for(int i=1;i<7;i++)
{
int n,m;
printf("请输入插入的第%d个元素:",i);
scanf("%d",&n);
printf("请输入插入的第%d个元素的位置:",i);
scanf("%d",&m);
InsertList(&l,m,n);
PrintList(&l);
printf("\n");
}
int e;//用户输入要查找的元素
printf("请输入要查找的元素:");
scanf("%d",&e);
LocateList(&l,e);//调用查找元素
printf("查找的元素是第%d个元素:",&i);
printf("\n");
int d;//用户输入要删除的第几个元素
printf("请输入要删除的元素编号:");
scanf("%d",&d);
DaleteList(&l,d);//调用删除元素
PrintList(&l);//显示线性表中所有的元素
printf("\n");
return 0;
}
【编译示图】(示图中要有0 error,0 warning的提示)
|