C语⾔实现线性表(可直接使⽤)
⼤学⽣-程序元,开始记录⽣活
南枫在这⾥和⼤家⼀同进步,⼀同交流学习
注:代码实现⽤Visual Studio 2019
这⾥主函数是直接写的内容,如果有别的需求,可直接修改主函数中函数的使⽤即可
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define MaxSize 100
typedef int ElemType;
typedef struct{
ElemType data[MaxSize];
int length;
}SqList;
bool ListInsert(SqList& L,int i, ElemType e){
if(i<1|| i>L.length +1){
return false;
}
if(L.length >= MaxSize){
return false;
}
//第i个位置之后的元素,全部向后移动1位
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 ListDelete(SqList& L,int i, ElemType& e){
if(i<1|| i>L.length +1){
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)
{
for(int i =0; i < L.length; i++)
{
printf("%3d", L.data[i]);
}
printf("\n");
}
int main()
{
SqList L;
bool ret_1;
bool ret_2;
ElemType del;
int add_p;
int del_p;
scanf("%d",&add_p);
//初始化
c语言listinsert函数L.data[0]=1;
L.data[1]=2;
L.data[2]=3;
L.length =3;
ret_1 =ListInsert(L,2, add_p);//读取的元素固定放在第⼆个位置
if(ret_1){
PrintList(L);
}
else{
printf("false\n");
}
scanf("%d",&del_p);
ret_2 =ListDelete(L, del_p, del);
if(ret_2){
PrintList(L);
}
else{
printf("false\n");
}
return0;
}
如果您感觉这篇⽂章有帮助,希望⼤家可以点个赞,⽀持⼀下。您的⽀持,就是我的动⼒。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。