最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

顺序表的查找 删除 插入

来源:动视网 责编:小OO 时间:2025-09-25 21:24:57
文档

顺序表的查找 删除 插入

数据结构实验报告(一)实验一:线性表的基本操作一、实验目的1.掌握使用TurboC上机调试线性表的基本方法;2.掌握顺序表的基本操作:插入、删除运算的实现。二、实验要求1、阅读下面的程序,分析各个函数的功能,并输入数据调试。2、现要删除线性表某位置上的元素,并保持线性表原有的顺序不变,请在给出的程序中加入一个删除函数,实现上述功能要求。ElemTypedelete_sq(SqList*L,inti)为删除函数的原型,L表示线性表,I表示插入位置。注意菜单中给出了菜单项,请在switch语句给出
推荐度:
导读数据结构实验报告(一)实验一:线性表的基本操作一、实验目的1.掌握使用TurboC上机调试线性表的基本方法;2.掌握顺序表的基本操作:插入、删除运算的实现。二、实验要求1、阅读下面的程序,分析各个函数的功能,并输入数据调试。2、现要删除线性表某位置上的元素,并保持线性表原有的顺序不变,请在给出的程序中加入一个删除函数,实现上述功能要求。ElemTypedelete_sq(SqList*L,inti)为删除函数的原型,L表示线性表,I表示插入位置。注意菜单中给出了菜单项,请在switch语句给出
数

实 

(一)  

实验一: 线性表的基本操作

一、实验目的

1.掌握使用Turbo C上机调试线性表的基本方法;

2.掌握顺序表的基本操作:插入、删除运算的实现。

二、实验要求

1、阅读下面的程序,分析各个函数的功能,并输入数据调试。

2、现要删除线性表某位置上的元素,并保持线性表原有的顺序不变,请在给出的程序中加入一个删除函数,实现上述功能要求。ElemType delete_sq(SqList *L, int i)为删除函数的原型,L表示线性表,I表示插入位置。注意菜单中给出了菜单项,请在switch语句给出调用语句,

#include

#include

#define MAXSIZE 20

typedef int ElemType;

typedef struct

{ ElemType a[MAXSIZE];

int length;

}SqList;

SqList a,b,c;

void creat_list(SqList *L);

void out_list(SqList L);

void insert_sq(SqList *L,int i,ElemType e);

int locat_sq(SqList L,ElemType e);

main()

{ int i,k,loc; ElemType e,x;

do { printf("\\n\\n\\n");

printf("\\n 1. creat " );

printf("\\n 2. insert");

printf("\\n 3. delete");

printf("\\n 4. find");

printf("\\n 5. end");

printf("\\n***************");

printf("\\n input:1-5");

scanf("%d",&k);

switch(k)

{ case 1:{ creat_list(&a); out_list(a);} break;

case 2:{ printf("\\n i,e=?"); scanf("%d,%d",&i,&e);

insert_sq(&a,i,e); out_list(a);

} break;

case 3:{ printf("\\n i=?"); scanf("%d",&i);

DeleteList(&a,i); out_list(a);

} break;

case 4:{ printf("\\n e=?"); scanf("%d",&e);

loc=locat_sq(a,e);

if (loc==-1) printf("\\n not find  %d",loc);

else printf("\\n find weizhi shi  %d",loc);

} break;

} /* switch */

}while(k!=5);

printf("\\n byebye");

printf("\\n enter,return");getch();

}

void creat_list(SqList *L)

{ int i;

printf("\\n n=?"); scanf("%d",&L->length);

for(i=0;ilength;i++){ printf("\ data %d=?",i);

scanf("%d",&(L->a[i]));

}

} /* creat_list */

void out_list(SqList L)

{ int i; char ch;

printf("\\n");

for(i=0;i<=L.length-1;i++) printf("%10d",L.a[i]);

printf("\\n\\n "); getch();

} /* out_list */

void insert_sq(SqList *L,int i,ElemType e)

{     int j;

if(i<1||i>L->length+1){printf("error");}//保证i插入的位置是第一个之前到最后一个之后插入的

L->length++;//L的长度加1 

for(j=L->length-1;j>=i-1;j--)

     L->a[j+1]=L->a[j]; //将第i个元素(包括本身)向后移一位.

L->a[i-1]=e;//第i个位置赋上e的值

} /* insert_sq */

int locat_sq(SqList L, ElemType e)

{ int i=0;

while(i<=L.length-1 && L.a[i]!=e) i++;

if(i<=L.length-1) return(i+1);

else return(-1);

}/* locat_sq */

int DeleteList(SqList *L,int i)

{

int j;

if(i<1||i>L->length){printf("error");return -1;}//保证删除的是第一个到最后一个之间的元素

L->length--;//L的长度减1

for(j=i-1;jlength;j++)

     L->a[j]=L->a[j+1];//将i向后的元素向后移一位

     return 1;

}

三、实验结果

1﹑查找

2、插入

3、删除

文档

顺序表的查找 删除 插入

数据结构实验报告(一)实验一:线性表的基本操作一、实验目的1.掌握使用TurboC上机调试线性表的基本方法;2.掌握顺序表的基本操作:插入、删除运算的实现。二、实验要求1、阅读下面的程序,分析各个函数的功能,并输入数据调试。2、现要删除线性表某位置上的元素,并保持线性表原有的顺序不变,请在给出的程序中加入一个删除函数,实现上述功能要求。ElemTypedelete_sq(SqList*L,inti)为删除函数的原型,L表示线性表,I表示插入位置。注意菜单中给出了菜单项,请在switch语句给出
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top