数据结构(C语言第二版)顺序表的创建

写在前面的话:不知道有没有小伙伴们和小编一样,刚学习线性表时一头雾水,不知该从何下手,这篇文章,我们将从顺序表开始,理解顺序表的创建、初始化和一些基本操作吧!

说明:小编也是刚学习数据结构这门课程,如有错误,请联系小编,小编及时改正。

具体思路:

1.创建结构体(包含顺序表的大小及表长元素)

        要想创建一个顺序表,首先要定义一个结构体,该结构体内定义了顺序表的存储空间及表长元素。

2.初始化顺序表

        创建完结构体后,就相当于一个顺序表的基本结构有了,接下来我们要对顺序表进行初始化,将顺序表在计算机中具体化。

在经过以上步骤后,一个顺序表就基本建好了,接下来我们要对顺序表增加一些基本功能。

3.插入元素

4.查找元素

5.删除元素

6.输出(打印)顺序表

        最后要将顺序表中的元素输出出来,否则将无法在控制台看到顺序表中的结果。

代码实现:

#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
//定义结构体
typedef struct {
    int data[MAXSIZE];
    int length;
}Seqlist;
//初始化顺序表
void initSqList(Seqlist *listpr){
    listpr->length=0;
}
//插入
void InsertSqList(Seqlist *listpr,int elem){
    if (listpr->length>=MAXSIZE){
        printf("顺序表已满,无法插入元素\n");
        return;
    } else{
        listpr->data[listpr->length]=elem;
        ++listpr->length;
    }
}
//查找
void SearchSqlist(Seqlist *listpr,int elem){
    for (int i=0;i<listpr->length;i++){
        if (elem==listpr->data[i]) {
            printf("元素 %d 的下标为%d\n", elem, i);
            return ;
        }
    }
    printf("查找失败,没有找到元素%d\n", elem);
}
//删除
void DeletSqlist(Seqlist *listpr,int index){
    if (index<0 || index>listpr->length) {
        printf("删除失败,没有找到该元素");
        return;
    }
    int k;
    for (k=index;k<listpr->length;k++){
        listpr->data[k]=listpr->data[k+1];
    }
    --listpr->length;
}
//打印顺序表
void PrintSqlist(Seqlist *listpr){
    int m;
    for (m=0;m<listpr->length;m++){
        printf("顺序表中的元素为:%d,下标为%d",listpr->data[m],m);
        printf("\n");
    }
}
int main(){
    Seqlist list;
    initSqList(&list);
    InsertSqList(&list,10);
    InsertSqList(&list,80);
    PrintSqlist(&list);
}

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值