当前位置:
文档之家› 数据结构- 顺序表的基本操作的实现-课程设计-实验报告
数据结构- 顺序表的基本操作的实现-课程设计-实验报告
顺序表的基本操作的实现
一、实验目的
1、 掌握使用 VC++上机调试顺序表的基本方法; 2、 掌握顺序表的基本操作:建立、插入、删除等运算。
二、实验仪器
安装 VC++软件的计算机。
三、实验原理
利用线性表的特性以及顺序存储结构特点对线性表进行相关的基本操作
四、实验内容
程序中演示了顺序表的创建、插入和删除。
void DeleteList(SeqList *L,int i);
SeqList L;
int i,x;
int n=10;
L.length=0;
clrscr();
CreateList(&L,n); /*建立顺序表*/
PrintList(&L,n);
/*打印建立后的顺序表*/
printf("INPUT THE RESEARCH ELEMENT");
void main()
{ void CreateList(SeqList *L,int n);
void PrintList(SeqList *L,int n);
int LocateList(SeqList *L,int x);
void InsertList(SeqList *L,int x,int i);
23 4 15 56 3 6 78 48 8
scanf("%d",&x);
InsertList(&L,x,i);
/*顺序表插入*/
PrintList(&L,n);
/*打印插入后的顺序表*/
printf("input the position of delete\n");
scanf("%d",&i);
DeleteList(&L,i); /*顺序表删除*/
L->length=n;
}
/*顺序表的打印:*/
void PrintList(SeqList *L,int n)
{
int i;
printf("the sqlist is\n");
for(i=1;i<=n;i++)
printf("%d ",L->data[i]);
}
/*顺序表的查找:*/
int LocateList(SeqList *L,int x)
程序如下:
#include <stdio.h>
#include <stdlib.h>
/*顺序表的定义:*/
#define ListSize 100
typedef struct
{ int data[ListSize]; /*向量 data 用于存放表结点*/
int length;
/*当前的表长度*/
}SeqList;
PrintList(&L,n);
/表的建立:*/
void CreateList(SeqList *L,int n)
{int i;
printf("please input n numbers\n");
for(i=1;i<=n;i++)
scanf("%d",&L->data[i]);
scanf("%d",&x);
i=LocateList(&L,x);
printf("the research position is %d\n",i);
/*顺序表查找*/
printf("input the position of insert:\n");
scanf("%d",&i);
printf("input the value of insert\n");
L->data[j+1]=L->data[j];
L->data[i]=x;
L->length++;
}
void DeleteList(SeqList *L,int i)
/*顺序表的删除:*/
{ int j;
for(j=i;j<=(L->length)-1;j++)
L->data[j]=L->data[j+1];
{int i;
for(i=1;i<=10;i++)
if((L->data[i])==x) return(i);
else return(0);
}
/*顺序表的插入:*/
void InsertList(SeqList *L,int x,int i)
{int j;
for(j=L->length;j>=i;j--)
}
五、实验步骤
1、认真阅读和掌握本实验的程序。 2、上机运行本程序。 3、保存和打印出程序的运行结果,并结合程序进行分析。 4、按照你对顺序表的操作需要,重新改写主程序并运行,打印出文件清单和运 行结果
六、数据记录及处理
运行程序,输入下面一组数据: 23 15 56 45 3 6 78 48 在第二个位置插入数据 4,删除第五个数据,查找数据 48 所在的位置.. 运行结果如: 23 4 15 56 45 3 6 78 48