清华跨考计算机党学习之路记录-1静态数组实现线性表的各种操作

在这里插入代码片@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);
}**
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值