1. 顺序表结构

#define MaxLen 50typedef struct
{int data[MaxLen];  // 定义一个数组来存储线性表中所有元素int len;                // 存储线性表的长度
} Sqlist;

2. 顺序表基本运算

2.1 置空表

void setnull(Sqlist &L)
{L.len = 0;
}

2.2 获取长度

int length(Sqlist L)
{return L.len;
}

2.3 获取表中第 i 个结点

获取表中的第 i 个结点,假设 i 属于 [0, len-1]

int get(Sqlist L, int i)
{if(i < 0 || i > L.len -1){return -1; // i 结点位置不对}return L.data[i];
}

2.4 按值查找对应的数据

int locate(Sqlist L, int x)
{for(int i=0; i<L.len; i++){if (L.data[i] == x){return i;}}return -1; // 未找到
}

2.5 插入结点

// 插入结点,在第 i 个位置插入值 x
int insert(Sqlist L, int x, int i)
{if(i < 0 || i > L.len) // 此处 i > L.len 表示可以插到最后一个位置{ return -1; // i 结点位置不对}L.len += 1; // 先给顺序表的长度加 1// 要在第 i 个位置插入个结点,则需要将从 i 到 len-1 个元素都往后移一位 for(int j=L.len-1; j>=i; j--){L.data[j+1] = L.data[j];}L.data[i] = x;return 1;
}

2.6 删除结点

int denode(Sqlist L, int i)
{if(i < 0 || i > L.len-1) { return -1; // i 结点位置不对}// 要删除第 i 个结点,需要将 i+1 到 len-1 的结点都往前移动一位for(int k=i+1; k<L.len; k++){L.data[k-1] = L.data[k];}L.len -= 1; // 删除之后使得 len减去 1return 0;
}

2.7 显示顺序表

#include <iostream>
int display(Sqlist L)
{if(L.len == 0){return -1; // 空表}if(L.len ==1){std::cout << L.data[0] << std::endl;return 0;}for(int i=0; i<L.len; i++){std::cout << L.data[i] << std::endl;}
}

数据结构(07)— 线性顺序表基本操作相关推荐

  1. python数据结构之线性顺序表

    线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列.本文结合了互联网上的一些代码,以及结合百度百科关于线性顺序表的定义,实现了全部代码. 在稍复杂的线性 ...

  2. 数据结构算法实现-顺序表基本操作

    数据结构算法实现 实现了高一凡的<<数据结构>>,书中的代码是基于VC6++ c++语言实现的,网上也可以找到TC版的c语言实现的源代码,TC版的源代码平台是 Turbo C ...

  3. 数据结构 稀疏矩阵三元组顺序表 基本操作

    [数据结构]稀疏矩阵 三元组顺序表存储 基本操作 1.稀疏矩阵定义: 假设在 mn 的矩阵中,又t个元素不为零.δ = t/mn ,称δ为矩阵的稀疏因子,通常定义δ小于等于0.05时称为稀疏矩阵. 2 ...

  4. 数据结构线性表的逻辑结构(三)顺序表基本操作的实现

    一. 实验目的 1. 掌握线性表的逻辑结构: 2. 顺序表基本操作的实现: 3. 掌握利用C/C++编程语言实现数据结构的编程方法: 4. 通过上机时间加强利用数据结构解决实际应用问题的能力: 二.  ...

  5. 数据结构学习笔记——顺序表的基本操作(超详细最终版+++)建议反复看看ヾ(≧▽≦*)o

    目录 前言 一.顺序表的定义 二.顺序表的初始化 三.顺序表的建立 四.顺序表的输出 五.顺序表的逆序输出 六.顺序表的插入操作 七.顺序表的删除操作 八.顺序表的按位和按值查找 基本操作的完整代码 ...

  6. 【PTA】6-1 顺序表基本操作(10 分)

    题目来自 网络与信息安全-数据结构作业1-数据结构基本概念 6-1 https://fancyking.ml/archives/71 原题描述 6-1 顺序表基本操作(10 分) 本题要求实现顺序表元 ...

  7. 顺序表基本操作<小白一听就懂!!!><超详细><接地气>

    顺序表基本操作<小白一听就懂!!!><超详细>&&<接地气> ***小编前言*** 完整代码 // 头文件 //主函数 // 初始化 /*运用指针* ...

  8. 顺序表基本操作函数总结

    /*************************************************************************************/ /*   顺序表基本操作 ...

  9. PTA第一章作业1--数据结构基本概念 顺序表基本操作

    6-2 顺序表基本操作 (10分) 本题要求实现顺序表元素的增.删.查找以及顺序表输出共4个基本操作函数.L是一个顺序表,函数Status ListInsert_Sq(SqList &L, i ...

最新文章

  1. 上海师范大学提前批计算机科学与技术,2020年上海师范大学提前批录取分数线公布...
  2. 成功解决graphviz\backend.py, line 162, in pipe raise ExecutableNotFound(args) graphviz.backend.Executab
  3. C++易被忽略的知识点:移动语义 左值右值
  4. 异常处理准则和最佳实践
  5. nedc和epa续航里程什么意思_400公里已成续航新起点,纯电动车的实用性到底怎样...
  6. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
  7. go set up on ubuntu
  8. 每个程序员应该知道12件事
  9. Django 设置中文和中国时区
  10. LinuxCNC的能做什么
  11. hdu 4517 小小明系列故事——游戏的烦恼(统计类题目)
  12. FATAL :210330:1710: 3.0 SOLVE/read_biases: Zero WL biases read from N-file
  13. 无线路由器信号互相干扰怎么办
  14. 数据库密码忘了如何修改
  15. 华为中兴和中国政府可准备两项法律反击
  16. android studio try catch自动生成,Android Studio:Try-catch异常崩溃了应用程序
  17. 我要去长沙啦!1024程序员节活动征集!
  18. Python随机车牌;京牌摇号⼩程序
  19. 2021-04-23
  20. 甬矽电子科创板首发获通过:拟募资15亿元,技术来源遭到质疑

热门文章

  1. 使用feign调用注解在eureka上的微服务,简单学会微服务
  2. Java substring使用时有哪些注意事项?
  3. RPC 笔记(03)— gRPC 概念、安装、编译、客户端和服务端示例
  4. Go 学习笔记(65)— Go 中函数参数是传值还是传引用
  5. Tensor基础实践
  6. 2021年大数据常用语言Scala(二十五):函数式编程 排序
  7. 2021年大数据Spark(二十):Spark Core外部数据源引入
  8. Java基础Switch和循环控制
  9. python raw_input 与 input 的区别
  10. Android TextView设置透明度方法的注意点