C语言固定大小的线性表的简单实现

#include<stdio.h>
//定义固定大小线性表
typedef struct{
    int elem[100];
    int lenght;
}SqList;
//初始化
int InitList(SqList &L){
    L.lenght = 0;
    return 1;

}
//插入
int ListInsert(SqList &L,int i,char e){
    //特殊情况处理
    if(i<1 || i>L.lenght)
        return 0;
    for(int index = L.lenght;index>i-1;index--){
        L.elem[index+1] = L.elem[index];
    }
    L.elem[i-1]=e;
    L.lenght++;
    return 1;
}
//删除
int ListDelete(SqList &L,int i,int &e){
    //特殊情况处理
    if(i<1 || i>L.lenght)
        return 0;
    e = L.elem[i-1];
    for(int index = i-1;index<L.lenght;index++){
        L.elem[index] = L.elem[index+1];
    }
    L.lenght--;
    return 1;
}
//确定位置
int LocateElem(SqList L,char x){
    int index = 0;
    while(index<L.lenght && x!=L.elem[index])
        index++;
    if(index>L.lenght)
        return 0;
    else
        return 1;
}
//输入
void ScanList(SqList &L,int i){
    printf("请输入%d个数:\n",i);
    for(int j=0;j<i;j++)
    {

         scanf("%d",&L.elem[j]);
         L.lenght++;
    }

}
//输出
void printList(SqList L,int i){
    printf("下面是输出的元素:\n");
    for(int j = 0;j<i;j++){
        printf("%d ",L.elem[j]);
    }
}
int main(){
    int e;
    SqList L;
    InitList(L);
    ScanList(L,5);
    ListInsert(L,2,8);//插入,2表示第2个数,对应数组下标1
    ListDelete(L,4,e);//删除 ,类似插入
    printList(L,L.lenght);


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值