线性表的顺序存储

我与数据结构有个约会,带你领略不一样的数据结构!


#include <stdio.h>

#include <stdlib.h>

#define Maxsize 100

typedef int ElemType;

//定义

typedef struct{

ElemType data[Maxsize];

int length; //当前长度

}Sqlist;

//创建

void CreatList(Sqlist &L,int n){

int i = 0;

//初始化

L.length = 0;

//用户输入n位元素

for(i;i<n;i++){

scanf("%d",&L.data[i]);

}

L.length  = n;

}

//插入元素

bool InsertList(Sqlist &L,int i,ElemType e){

//判断合法性

if(i<1 || i>Maxsize+1){

return 0;

}

if(L.length > Maxsize){

return 0;

}

//挪动

for(int j = L.length;j>=i;j--){

L.data[j] = L.data[j-1]; //从后往前挪

}

//插入

L.data[i-1] = e;

L.length++;

return true;

}

//删除

bool DeleList(Sqlist &L,int i,int &e){

//判断合法性

if(i<1 || i>L.length){

return false;

}

e=L.data[i-1];

for(int j=i;j<L.length;j++){

L.data[j-1] = L.data[j];

}

L.length--;

return true;

}

//输出

void PrintList(Sqlist L){

int len = L.length;

for(int k =0;k<len;k++){

printf("->%d",L.data[k]);

}

printf("\n");

}

int main()

{

int e;

Sqlist l;

CreatList(l,5);

PrintList(l);

InsertList(l,2,9);

PrintList(l);

DeleList(l,2,e);

PrintList(l);

system("pause");

return 0;

}

有问题的朋友,欢迎留言交流哦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容