加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

实验三  顺序表的插入与删除操作

(2010-05-29 18:16:50)
标签:

顺序表

插入与删除操作

教育

分类: 学习类--数据结构

一、【实验目的】

1、掌握顺序表的插入算法的思想和实现

2、掌握顺序表的删除算法的思想和实现

 

二、【实验内容】
   在上一次实验创建顺序表的基础上,实现顺序表的插入和删除操作。由用户输入待插入元素及插入位置,将完成插入后的顺序表输出;由用户输入删除第几个元素,将完成删除后的顺序表输出。

顺序表的创建和插入操作参考代码如下:

#include<stdio.h>

#include<stdlib.h>

#define MAXSIZE 10

typedef struct{

int *elem;

int length;

}SqList;

main()

{SqList  ST;

int i,x,y;

int ListInsert_Sq(SqList *L,int i,int e);

printf("请输入顺序表的长度");

scanf("%d",&ST.length);

ST.elem=(int*)malloc(sizeof(int)*(ST.length));

for(i=0;i<=ST.length-1;i++)

{ST.elem[i]=rand()%100;

printf("%d ",ST.elem[i]);

}

printf("请输入你要插入的位置及元素值");

scanf("%d,%d",&i,&x);

y=ListInsert_Sq(&ST,i,x);

for(i=0;i<ST.length;i++)

printf("%d ",ST.elem[i]);

}

int ListInsert_Sq(SqList *L,int i,int e)

{int j;

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

L->elem[j+1]=L->elem[j];

L->elem[i]=e;

++L->length;

return 1;

}

请读懂以上代码,体会顺序表操作的C语言实现,注意函数调用过程中参数的值传递和地址传递。在此基础上完成顺序表的删除操作。

删除操作函数定义为:int ListDelete_Sq(SqList *L,int i)。

 

三、实验源代码

 

 

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有