删除顺序表指定下标的元素
天勤论坛高分笔记 2016 版,第 27 页,例 2-2。
描述:删除顺序表L中下标为p(1<=p<=length)的元素,成功返回1,否则返回0,并将被删除元素的值赋给e。
c
/* Page 27, Example 2-2. 描述:删除顺序表L中下标为p(1<=p<=length)的元素,成功返回1,否则返回0,并将被删除元素的值赋给e。 */#include "stdio.h" #define MAXSIZE 50typedef struct {int data[MAXSIZE];int length; }Sqlist;void init(Sqlist &sl) {int len = 10;for(int i=1; i<=len; ++i){sl.data[i] = i*3-2;}sl.length = len; }int delSqlist(Sqlist &sl, int index, int &e) {int len=sl.length;int loc;if(index<1 || index>len){return 0;}loc=index;e=sl.data[index]; //返回被删除的值应在“删除”(后续元素前移)前进行while(loc<len){sl.data[loc]=sl.data[loc+1];loc++; // 这步不能遗漏}sl.length=len-1;return 1; }void printSqlist(Sqlist sl) {int len=sl.length;for(int i=1; i<=len; i++){printf("%d,", sl.data[i]);}printf(";Length: %d\n", sl.length); }int main() {int index;int e;Sqlist sl;init(sl);printf("Index: ");scanf("%d", &index);printSqlist(sl);if(delSqlist(sl, index, e) == 1){printf("Deleted finish! Deleted value is %d. \n", e);}else{printf("Deleted failed. \n");}printSqlist(sl);return 0; }
删除顺序表指定下标的元素相关推荐
- 删除顺序表中下标i~j的所有元素
删除顺序表中下标i~j的所有元素(包括i.j),假定i.j合法 void delete(SqList &L,int i,int j) {while(j < L.length-1){L.d ...
- 顺序表指定位置插入元素
问题描述: 本题要求实现一个函数,在顺序表的第i个位置插入一个新的数据元素e,插入成功后顺序表的长度加1,函数返回值为1:插入失败函数返回值为0:函数接口定义: int ListInsert(SqLi ...
- 设计一个算法,删除顺序表中下标i~j(i<=j,包括i和j)的所有元素,假定i和j是合法的。
#include <iostream> using namespace std;void delElem(int arr[],int &length,int i,int j){in ...
- 算法:删除顺序表中重复的元素
//删除数组中重复的元素 //思路:通过起始位置的元素,逐个和后面的元素进行比较,找到相同的元素后执行删除操作.没有发现执行第二次循环void purge(int a[], int len) {int ...
- 删除顺序表中指定值的所有元素(C++,vector)
描述 利用顺序表表示一个包括n个整数的序列,请实现一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法可以删除表中所有值为item的元素. 输入 多组数据,每组数据有三行,第一行为顺序表的长度 ...
- js删除数组内多个指定下标的元素
js删除数组内多个指定下标的元素 let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] let deleteIndex = [2, 4, 7] if (delet ...
- 【C++基础】删除vector中指定下标元素
[C++基础]删除vector中指定下标元素 vector<int> nums(n);1. 删除指定一个 i, auto it = nums.begin(); nums.erase(it+ ...
- 第30关:删除顺序表中指定值的所有元素
任务描述 本关任务:利用顺序表表示一个包括n个整数的序列,请实现一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法可以删除表中所有值为item的元素. 编程要求 输入 多组数据,每组数据有三 ...
- 数据结构:删除顺序表中小于min和大于max的数(不需要从大到小排列依然可以)
1.题目要求: 设计一个算法,删除递增有序链表中值小于min和大于max的所有元素 2.题目分析 依次找到对应元素,而后进行删除. int listDelete(SqList& L, int ...
最新文章
- 小猿圈Linux学习-Linux种搜索的命令
- 编写一个程序,打印输入中各个字符出现频度的直方图
- 学Redis这篇就够了!
- 【数字信号处理】相关函数应用 ( 高斯白噪声 的 自相关函数 分析 )
- Linux操作系统Ubuntu部署Mysql篇
- js for循环与for in循环的区别
- Python实现九九乘法表
- 决胜B端第2版(4):需求分析的十三要素五步法
- Matlab练习:timer(定时器3)
- 双水泵轮换工作原理图_一用一备式冷凝水泵应急电源的设计与实现
- Openfire插件开发
- python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
- 三层架构和mvc的区别_谈谈对于企业级系统架构的理解
- 笔记本测试屏幕的型号的软件,哪个软件可以检测到笔记本的型号
- 设计模式之抽象工厂模式(Java实现)
- 音视频中的码率控制(CBR、VBR、CVBR、FIXQP)
- 自定义DatetimePicker起始默认值
- toMap函数 java.lang.IllegalStateException: Duplicate key 123 (attempted merging values 123 and 124)
- OpenCV曝光参数和快门时间的对应关系
- mkt sensor1.0 alps
热门文章
- Docker 安装MySQL以及外部访问
- 后端程序员工作经验总结
- mysql max connects_mysql max_connections 总是 4190
- 图像处理:python实现canny算子
- cs结构航空订票系统java_VC++航空订票系统数据库设计-课程设计
- 黑星什么意思_星月菩提黑星海南料什么意思
- python3语法错误python_[大数据]Python 3.x中使用print函数出现语法错误(SyntaxError: invalid syntax)的原因 - 码姐姐找文...
- linux 修改时区_【003】一文全面掌握Linux初始化进程(超详细)
- Matlab实用程序--图形应用-图形标注
- 基于matlab/simulink的双闭环PMSM控制