数据结构(07)— 线性顺序表基本操作
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)— 线性顺序表基本操作相关推荐
- python数据结构之线性顺序表
线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列.本文结合了互联网上的一些代码,以及结合百度百科关于线性顺序表的定义,实现了全部代码. 在稍复杂的线性 ...
- 数据结构算法实现-顺序表基本操作
数据结构算法实现 实现了高一凡的<<数据结构>>,书中的代码是基于VC6++ c++语言实现的,网上也可以找到TC版的c语言实现的源代码,TC版的源代码平台是 Turbo C ...
- 数据结构 稀疏矩阵三元组顺序表 基本操作
[数据结构]稀疏矩阵 三元组顺序表存储 基本操作 1.稀疏矩阵定义: 假设在 mn 的矩阵中,又t个元素不为零.δ = t/mn ,称δ为矩阵的稀疏因子,通常定义δ小于等于0.05时称为稀疏矩阵. 2 ...
- 数据结构线性表的逻辑结构(三)顺序表基本操作的实现
一. 实验目的 1. 掌握线性表的逻辑结构: 2. 顺序表基本操作的实现: 3. 掌握利用C/C++编程语言实现数据结构的编程方法: 4. 通过上机时间加强利用数据结构解决实际应用问题的能力: 二. ...
- 数据结构学习笔记——顺序表的基本操作(超详细最终版+++)建议反复看看ヾ(≧▽≦*)o
目录 前言 一.顺序表的定义 二.顺序表的初始化 三.顺序表的建立 四.顺序表的输出 五.顺序表的逆序输出 六.顺序表的插入操作 七.顺序表的删除操作 八.顺序表的按位和按值查找 基本操作的完整代码 ...
- 【PTA】6-1 顺序表基本操作(10 分)
题目来自 网络与信息安全-数据结构作业1-数据结构基本概念 6-1 https://fancyking.ml/archives/71 原题描述 6-1 顺序表基本操作(10 分) 本题要求实现顺序表元 ...
- 顺序表基本操作<小白一听就懂!!!><超详细><接地气>
顺序表基本操作<小白一听就懂!!!><超详细>&&<接地气> ***小编前言*** 完整代码 // 头文件 //主函数 // 初始化 /*运用指针* ...
- 顺序表基本操作函数总结
/*************************************************************************************/ /* 顺序表基本操作 ...
- PTA第一章作业1--数据结构基本概念 顺序表基本操作
6-2 顺序表基本操作 (10分) 本题要求实现顺序表元素的增.删.查找以及顺序表输出共4个基本操作函数.L是一个顺序表,函数Status ListInsert_Sq(SqList &L, i ...
最新文章
- 上海师范大学提前批计算机科学与技术,2020年上海师范大学提前批录取分数线公布...
- 成功解决graphviz\backend.py, line 162, in pipe raise ExecutableNotFound(args) graphviz.backend.Executab
- C++易被忽略的知识点:移动语义 左值右值
- 异常处理准则和最佳实践
- nedc和epa续航里程什么意思_400公里已成续航新起点,纯电动车的实用性到底怎样...
- ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
- go set up on ubuntu
- 每个程序员应该知道12件事
- Django 设置中文和中国时区
- LinuxCNC的能做什么
- hdu 4517 小小明系列故事——游戏的烦恼(统计类题目)
- FATAL :210330:1710: 3.0 SOLVE/read_biases: Zero WL biases read from N-file
- 无线路由器信号互相干扰怎么办
- 数据库密码忘了如何修改
- 华为中兴和中国政府可准备两项法律反击
- android studio try catch自动生成,Android Studio:Try-catch异常崩溃了应用程序
- 我要去长沙啦!1024程序员节活动征集!
- Python随机车牌;京牌摇号⼩程序
- 2021-04-23
- 甬矽电子科创板首发获通过:拟募资15亿元,技术来源遭到质疑