天勤论坛高分笔记 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;
}

删除顺序表指定下标的元素相关推荐

  1. 删除顺序表中下标i~j的所有元素

    删除顺序表中下标i~j的所有元素(包括i.j),假定i.j合法 void delete(SqList &L,int i,int j) {while(j < L.length-1){L.d ...

  2. 顺序表指定位置插入元素

    问题描述: 本题要求实现一个函数,在顺序表的第i个位置插入一个新的数据元素e,插入成功后顺序表的长度加1,函数返回值为1:插入失败函数返回值为0:函数接口定义: int ListInsert(SqLi ...

  3. 设计一个算法,删除顺序表中下标i~j(i<=j,包括i和j)的所有元素,假定i和j是合法的。

    #include <iostream> using namespace std;void delElem(int arr[],int &length,int i,int j){in ...

  4. 算法:删除顺序表中重复的元素

    //删除数组中重复的元素 //思路:通过起始位置的元素,逐个和后面的元素进行比较,找到相同的元素后执行删除操作.没有发现执行第二次循环void purge(int a[], int len) {int ...

  5. 删除顺序表中指定值的所有元素(C++,vector)

    描述 利用顺序表表示一个包括n个整数的序列,请实现一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法可以删除表中所有值为item的元素. 输入 多组数据,每组数据有三行,第一行为顺序表的长度 ...

  6. js删除数组内多个指定下标的元素

    js删除数组内多个指定下标的元素 let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] let deleteIndex = [2, 4, 7] if (delet ...

  7. 【C++基础】删除vector中指定下标元素

    [C++基础]删除vector中指定下标元素 vector<int> nums(n);1. 删除指定一个 i, auto it = nums.begin(); nums.erase(it+ ...

  8. 第30关:删除顺序表中指定值的所有元素

    任务描述 本关任务:利用顺序表表示一个包括n个整数的序列,请实现一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法可以删除表中所有值为item的元素. 编程要求 输入 多组数据,每组数据有三 ...

  9. 数据结构:删除顺序表中小于min和大于max的数(不需要从大到小排列依然可以)

    1.题目要求: 设计一个算法,删除递增有序链表中值小于min和大于max的所有元素 2.题目分析 依次找到对应元素,而后进行删除. int listDelete(SqList& L, int ...

最新文章

  1. 小猿圈Linux学习-Linux种搜索的命令
  2. 编写一个程序,打印输入中各个字符出现频度的直方图
  3. 学Redis这篇就够了!
  4. 【数字信号处理】相关函数应用 ( 高斯白噪声 的 自相关函数 分析 )
  5. Linux操作系统Ubuntu部署Mysql篇
  6. js for循环与for in循环的区别
  7. Python实现九九乘法表
  8. 决胜B端第2版(4):需求分析的十三要素五步法
  9. Matlab练习:timer(定时器3)
  10. 双水泵轮换工作原理图_一用一备式冷凝水泵应急电源的设计与实现
  11. Openfire插件开发
  12. python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
  13. 三层架构和mvc的区别_谈谈对于企业级系统架构的理解
  14. 笔记本测试屏幕的型号的软件,哪个软件可以检测到笔记本的型号
  15. 设计模式之抽象工厂模式(Java实现)
  16. 音视频中的码率控制(CBR、VBR、CVBR、FIXQP)
  17. 自定义DatetimePicker起始默认值
  18. toMap函数 java.lang.IllegalStateException: Duplicate key 123 (attempted merging values 123 and 124)
  19. OpenCV曝光参数和快门时间的对应关系
  20. mkt sensor1.0 alps

热门文章

  1. Docker 安装MySQL以及外部访问
  2. 后端程序员工作经验总结
  3. mysql max connects_mysql max_connections 总是 4190
  4. 图像处理:python实现canny算子
  5. cs结构航空订票系统java_VC++航空订票系统数据库设计-课程设计
  6. 黑星什么意思_星月菩提黑星海南料什么意思
  7. python3语法错误python_[大数据]Python 3.x中使用print函数出现语法错误(SyntaxError: invalid syntax)的原因 - 码姐姐找文...
  8. linux 修改时区_【003】一文全面掌握Linux初始化进程(超详细)
  9. Matlab实用程序--图形应用-图形标注
  10. 基于matlab/simulink的双闭环PMSM控制