【数据结构】二、有序顺序表

写在前面

本人是一位计算机的大一新生,也是经常在网上查找文章进行学习,经常有时候会懒得做笔记了,就在网上找相应写的比较好的文章收藏便于复习,但是有时候一个知识点我需要收集好几个文章的信息并且内容多有重复,不便于整理,于是萌发了自己写文章的念头。目的是能督促自己对知识点进行总结整理,加深理解,以自己能理解的方式记录下来,也希望能帮助到向我一样努力积极勤奋的计算机新手,欢迎大家讨论交流!

如果有哪里理解的不对的地方,欢迎指正!

一、引言

有序顺序表是一种特殊的线性表,其内部的元素是有序的。

关于线性表,可以看我之前发表的文章

【数据结构】一、线性表-CSDN博客

二、有序顺序表的特点

  1. 有序性:元素按照特定的顺序排列,通常是升序或降序。

  2. 随机访问:可以通过索引快速访问表中的任意元素。

  3. 搜索效率:有序顺序表支持高效的搜索操作,如二分搜索。

  4. 插入和删除操作:插入和删除元素可能需要移动其他元素以保持顺序。

三、使用 C 语言实现有序顺序表

  1. 定义数据结构
#define MaxSize 100

typedef struct {
    int list[MaxSize];  //使用数组来存储元素
    int size;           //记录存储的元素个数
}SeqList;
  1. 基本操作
  • 插入元素:找到合适的位置插入新元素,这里使用二分法进行查找,在处理较多元素时可以大大减少时间
int SeqList_Insert(SeqList* head, int x)
{
    if (head->size >= MaxSize)
    {
        printf("顺序表已满,无法插入!\n");
        return -1;
    }

    if (head->size =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值