博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DS-004 顺序表-删除值重复的元素
阅读量:4100 次
发布时间:2019-05-25

本文共 577 字,大约阅读时间需要 1 分钟。

题目:从有序顺序表中删除所有其值重复的元素,使表中的值均不同。

算法思想:有序顺序表,值重复的元素一定在连续的位置上。用i记录不重复的元素。用顺序表前面的i个位置保存不重复的元素,后面的元素如果与要保留的顺序表最后一个元素不相同,则留下。扫描完成后,留下的0~i位就是值不重复的元素。

代码:

bool Delete_Same(SeqList &L){	if(L.length==0) return false;	int i, j; //i记录要留下的那个元素存放位置,j用来遍历数组	for(i=0, j=1; j

解析:

  1. 函数类型为bool,函数会返回true或false
  2. for循环中i从0开始,j从1开始,因为第一个元素肯定会被留下,放在L.data[0]的位置。初始时,比较第二个元素和第一个元素的值是否相同就好。
  3. if条件不成立,即当前扫描的元素,和前面留下来的最后一个元素相等。那么不会执行之后的语句,i不变,j自增1。
  4. if条件成立,当前元素和前面保留下来的元素都不相等。i自增1,当前元素会被保留在第i+1个位置。继续扫描下一个元素。
  5. 扫描完成后,L.data[0]~L.data[i]就是要值不重复的顺序表。
  6. 修改L.length为i+1,保留的都是不重复的元素,即删除了重复元素。L.length从1开始计数,数组下标从0开始计数。

转载地址:http://ieeii.baihongyu.com/

你可能感兴趣的文章
假如计算机是中国人发明的,那代码应该这么写
查看>>
科技公司最爱的 50 款开源工具,你都用过吗?
查看>>
触目惊心:比特币到底消耗了多少能源?
查看>>
面试官:简历上敢写技术精通?那我就不客气了!
查看>>
如何判断一家互联网公司要倒闭了?
查看>>
想快速上手机器学习?来看下这个 GitHub 项目!
查看>>
GitHub 标星 3.6k,一本开源的深度学习中文教程!
查看>>
9 款你不能错过的 JSON 工具
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
200页!分享珍藏很久的Python学习知识手册(附链接)
查看>>
程序员之神
查看>>
4 岁小女孩给 Linux 内核贡献提交
查看>>
推荐几个私藏很久的技术公众号给大家
查看>>
20 个 2020 年软件开发趋势预测
查看>>
王垠受邀面试阿里 P9,被 P10 面跪后网上怒发文,惨打 325 的 P10 赵海平回应了!...
查看>>
Python 趣味打怪:147 段简单代码助你从入门到大师
查看>>
卧槽!小姐姐用动画图解 Git 命令,这也太秀了吧?!
查看>>
厉害了!Python 编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!
查看>>
卧槽!Java 虚拟机竟然还有这些性能调优技巧...
查看>>
听说玩这些游戏能提升编程能力?
查看>>