在这里插入代码片
@TOC
学习之路记录-1静态数组C语言实现线性表的各种操作
*****#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define Maxsize 10
typedef struct {
int data[Maxsize];
int length;
}List;
//初始化
void InitList(List*l){
l->length=0;
}
//判空
bool Empty(List l){
if(l.length==0){
return true;
}
}
//插入元素
bool ListInsert1 (List *l,int i,int e){
if(i<1||i>Maxsize){
return false;
}
l->length=i;
l->data[i-1]=e;
}
//打印列表元素
void PrintList(List *l){
int i=0;
for(i=0;i<l->length;i++){
printf("该数组第%d数据为%d\n",i,l->data[i]);
}
}
//更新列表元素
bool UpdateList(List *l,int i,int e) {
if(i<1||i>Maxsize){
return false;
}
l->data[i-1]=e;
}
//按数值查找元素
int Locateelem(List l,int e){
int i=0;
for( i=0;i<l.length;i++){
if(l.data[i]==e)
{
printf("你要查找的元素在数组%d的位置\n",i);
return i;
}
}
}
//按位置查找元素
int Getelem(List l,int i){
printf("%d\n",l.data[i-1]);
return l.data[--i];
}
//删除某个元素
void DeleteList(List *l,int i){
for(int j=--i;j<l->length;j++){
l->data[j]=l->data[j+1];
}
l->length--;
}
//主函数
int main(){
List l;
InitList(& l);
if(Empty(l)){
printf("初始化成功\n");
}
ListInsert1(&l,1,6);
ListInsert1(&l,2,8);
ListInsert1(&l,3,9);
UpdateList(&l,2,4);
Locateelem(l,9);
int j=Getelem(l,3);
printf("%d\n",j);
PrintList(& l);
DeleteList(&l,1);
PrintList(& l);
}**