永发信息网

1. 基于顺序表实现线性表的以下操作: a) 顺序表初始化 b) 插入 c) 删除 d) 查找 e) 顺序表判满 f) 打印

答案:1  悬赏:30  手机版
解决时间 2021-11-25 02:33
  • 提问者网友:王者佥
  • 2021-11-24 19:48
1. 基于顺序表实现线性表的以下操作: a) 顺序表初始化 b) 插入 c) 删除 d) 查找 e) 顺序表判满 f) 打印
最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-11-24 20:32
具体用到了顺序表的初始化、插入、删除、
(代码如果不行,可以去掉注释试下)

//定义顺序表
#include "stdio.h"
#define MAXLEN 100
typedef int DataType;
typedef struct{
DataType data[MAXLEN];
int length;
}sqList;
//以下为初始化(子函数)
void ListInit(sqList *L){
L->length=0;
}
//以下为插入(子函数)
int ListInsert(sqList *L,int i,DataType x){
int j;
if(i<1||i>L->length+1)
return 0;
if(L->length==MAXLEN)
return 0;
for(j=L->length;j>=i;j--)
L->data[j]=L->data[j-1];
L->data[i-1]=x;
L->length++;
return 1;
}
//以下为删除(子函数)
int ListDelete(sqList *L,int i,DataType *e){
int j;
if(i<1||i>L->length)
return 0;
*e=L->data[i-1];
for(j=i;jlength;j++)
L->data[i-1]=L->data[i];
L->length--;
return 1;
}
//以下为主函数
main{
//主函数中的初始化(调用)
sqList x;
int n,i,y;
ListInit(&x);
for(i=0;i<5;i++){
printf("请输入第%d个数:",i+1);
scanf("%d",&n);
x.data[i]=n;
}
x.length=i;
//

for(i=0;iprintf("%d ",x.data[i]);
printf("\n");
//以下插入、删除以及每次

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯