线性表-顺序表

线性表的顺序存储结构是指用一段地址连续的存储单元存储数据

/*
*顺序存储结构可以用数组
*/
#include
#define MAXSIZE 20 //存储空间初始分配量
//结点
typedef struct
{
    int data[MAXSIZE];//数组,存储数据元素(数据域)
    int length;//线性表当前长度
}Sqlist;

/*初始化顺序表*/
void init_list(Sqlist *L)
{
    L->length = 0;
}
/*判断顺序表是否为空*/
int list_empty(Sqlist*L)
{
    if(L->length==0)
        return 0;
    else
        return 1;
}
/*顺序表的清空*/
void list_clear(Sqlist*L)
{
    L->length=0;
}
//头插法
void list_insert(Sqlist*L,int i,int e)
{
    if(L->length==MAXSIZE)//如果顺序表已满
        return;
    if(iL->length+1)
        return;
    if(ilength)//如果插入的元素不在表尾
    {
        for(int k=MAXSIZE-1;k>i-1;k--)
        {
            L->data[k]=L->data[k-1];
        }
    }
    L->data[i-1]=e;
    L->length++;
}
int get_elem(Sqlist*L,int i)
{
    int e;
    e=L->data[i-1];
    return e;
}
void list_delete(Sqlist*L,int i)
{
    if(L->length==0)
        return;
    if(iL->length)
        return;
    if(ilength)
    {
        for(int k=i;klength;k++)
        {
            L->data[k-1]=L->data[k];
        }
    }
    L->length--;
}
void list_show(Sqlist*L)
{
    printf("顺序表的元素:");
    for(int i=0;ilength;i++)
        printf("%2d",L->data[i]);
}
int main()
{
    int i;
    Sqlist L;//创建一个顺序表
    init_list(&L);
    printf("初始化后的线性表长度length:%d\n",L.length);
    //插入1-5
    printf("插入1-5:\n");
    for(int j=1;j

Original: https://www.cnblogs.com/codecp/p/15590623.html
Author: 君有云
Title: 线性表-顺序表

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/715229/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 新人公司选择及进入公司后注意事项

    公司/平台选择 优先选择走在未来航道上的那些 快速发展的公司 确认所选公司是否是一家 以技术驱动,以技术文化为主导的公司 新人进入公司后要注意 一般的开发流程是:需求分析➡️设计➡…

    技术杂谈 2023年7月25日
    099
  • 【告别】感谢各位大家关注,以后不会在更新了!

    【告别】感谢各位大家关注,以后不会在更新了! 【告别】感谢各位大家关注,以后不会在更新了! posted @2022-04-14 09:01 卖烧烤的鱼 阅读(129 ) 评论()…

    技术杂谈 2023年5月30日
    0133
  • 从事 大数据方向 相关工作得同学看过来啦~~~

    哈喽,从事 大数据方向 相关工作的同学看过来啦~ 为了方便可爱的粉丝们技术之间的交流与答疑,之前建了一个微信技术群,现在宣传一下:无广告,里面的话题只有技术与生活,群里的小伙伴们都…

    技术杂谈 2023年7月25日
    087
  • use IFS in bash

    function dfd() { #http://www.cnblogs.com/hunterfu/archive/2010/02/23/1672129.html IFS=$’\n…

    技术杂谈 2023年5月31日
    0101
  • 面试题目:手写一个LRU算法实现

    LFU Least Frequently Used 算法根据数据的历史访问频率来淘汰数据,其核⼼思想是”如果数据过去被访问多次,那么将来被访问的频率也更⾼”…

    技术杂谈 2023年7月11日
    0103
  • 人生苦短,我用JRebel

    昨天看到团子推送的一篇关于热部署的文章,其中介绍了自研的Sonic插件在公司内部的应用。同时晒出来一张对比图: 团子表示我们的插件要比同类插件优秀哦。不过我定睛一看,好家伙,第一列…

    技术杂谈 2023年7月25日
    084
  • 百度效率云

    http://xiaolvyun.baidu.com/docs/knowledge-base/user-story-mapping Original: https://www.cn…

    技术杂谈 2023年5月31日
    0107
  • SQL52 获取employees中的first_name

    本题链接表结构如下所示(内容不完整):额外的要求是按照first_name最后两个字母升序进行输出。这里需要用到MySQL的字符串处理函数RIGHT。RIGHT函数的语法如下所示:…

    技术杂谈 2023年7月11日
    075
  • BlazorVSVue

    Vue——​​两分钟概述 Vue 是一个JavaScript 框架。 在其最简单的模式中,您可以简单地将核心 Vue 脚本包含在您的应用程序中,然后开始构建您的组件。 除此之外,对…

    技术杂谈 2023年7月24日
    094
  • elasticsearch-7.2.1启动报错

    1、elasticsearch-7.2.1启动报错,the default discovery settings are unsuitable for production use…

    技术杂谈 2023年5月31日
    0114
  • 如何将代码优雅的插入到word中

    介:写博客或者word时需要插入代码,但如何更优雅的将代码插入到word中呢? 反面教材如下: 技巧步骤1:插入表格,设置表格无边框; 技巧步骤2:使用Notepad++的高级功能…

    技术杂谈 2023年7月23日
    063
  • Mysql登录错误:ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded

    错误信息: ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded: /usr/lib/x86_6…

    技术杂谈 2023年7月11日
    085
  • vnpy源码阅读学习(6):事件引擎

    看完了 MainEngine的代码,大概有一个了解以后。我们在初始化 MainEngine的时候,要传入或者实例化一个事件引擎对象。 代码基本结构 按照惯例,我把所有的方法体折叠,…

    技术杂谈 2023年7月11日
    086
  • 数字IC面试题

    1:建立时间与保持时间的概念?建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的…

    技术杂谈 2023年6月1日
    0116
  • Vue-cli介绍

    vue基本语法非常容易理解,如果在接触vue之前,接触过微信小程序,基本可以说轻车熟路.反过来也是如此. vue 之所以强大切易用离不开vue-cli\vue-router\vue…

    技术杂谈 2023年7月11日
    076
  • Collections.singletonList方法

    这个方法主要用于只有一个元素的优化, 减少内存分配,无需分配额外的内存,可以从SingletonList内部类看得出来,由于只有一个element,因此可以做到内存分配最小化,相比…

    技术杂谈 2023年7月24日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球