实验报告微型计算机拆卸顺序表,顺序表的操作实验报告馒头制作.doc

顺序表的操作实验报告馒头制作

实验二 顺序表的操作实验报告

班 级10计科2学号20104012010姓名翁朝伟实验名称顺序表的操作实验目的掌握线性表的顺序存储结构的基本概念、基本操作和应用实验环境硬件环境:微型计算机 软件环境:Windows 2000或以上版本,turboc2.0实验内容1.创建顺序表,顺序表的元素的值由用户从键盘输入。

2.在已经创建的顺序表中插入一个元素。从键盘读入元素值和插入位置,在指定的位置前插入。

3.在已经创建的顺序表中删除一个元素。从键盘读入欲删除的元素位置,在指定的位置删除元素。实验步骤及结果线性表的插入线性表的删除

#include

#define OK 1

#define ERROR 0

#define ElemType int

#define LIST_INT_SIZE 100

#define LISTINCREMENT 10

typedef struct{

ElemType *elem;

int length;

int listsize;

}SqList;

int InitList_Sq(SqList *L){

L->elem=(ElemType *)malloc(LIST_INT_SIZE*sizeof(ElemType));

if (!L->elem) return OK;

L->length=0;

L->listsize=LIST_INT_SIZE;

return OK;}

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

ElemType *p, *q, *newbase;

if (i < 1 || i > L->length+1) return ERROR;

if (L->length >= L->listsize){

newbase = (ElemType *)realloc(L->elem, (L->listsize+LISTINCREMENT)*sizeof (ElemType));

if (!newbase) return ERROR;

L->elem = newbase;

L->listsize += LISTINCREMENT; }

q = &(L->elem[i-1]);

for (p = &(L->elem[L->length-1]); p>=q; --p) *(p+1) = *p;

*q = e;

++L->length;

return OK;}

int main(){

SqList *L;

int i,e;

if (! InitList_Sq(L)) return ERROR;

printf("Please input the length of the list(1-100) : ");

scanf("%d",& L->length);

for(i=0;i< L->length;i++)

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

printf("The old Sqlist is : \n");

for(i=0;i< L->length;i++)

printf("%d ",L-> elem[i]);

printf("\nPlease input the location to insert (1 to L->length+1) : \n");

scanf("%d",&i);

while(i<1||i> L->length+1)

{

printf("Please input the location to insert (1 to 11) : \n ");

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

printf("Please input the integer to insert (eg,58) : ");

scanf("%d",&e);

if(ListInsert_Sq(L,i,e)){

printf("The new Sqlist is : ");

for(i=0;i< L->length;i++)

printf("%d ",L-> elem[i]);}}#include

#define OK 1

#define ERROR 0

#define ElemType int

#define LIST_INT_SIZE 100

#define LISTINCREMENT 10

typedef struct{

ElemType *elem;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值