简友广场

线性表的顺序存储

2019-05-14  本文已影响0人  始于尘埃

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


#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;

}

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

上一篇下一篇

猜你喜欢

热点阅读