有序表删除重复元素实验结果
题目
从有序表中删除所有其值重复的元素 , 使表中所有的元素的值均有不同
算法设计 解法一
用类似于直接插入排序的思想 , 初试时将第一个元素视为非重复的有序表 , 之后依次判断后面的元素是否与前面的非重复元素有序表的最后一个元素相同 , 若相同则继续向后判断 , 若不同则插入前面的非重复有序表的 , 最后直至判断到表尾为止
bool del(sqlist &L){if(L.length==0)return false;int i,j;//i存储第一个不相同的元素 , j为工作指针for(i=0,j=1;j
解法二
每遇到一个重复的就将后面的整体向前移动一个 , 以此类推
bool Delete_Same(SqList &L){for(int i=0;i
实验
文章插图
整体实验如下:
#include
结果
如下:
【有序表删除重复元素】此题本想设一个k来计数 , 作为重复的元素 , 每遇到一个重复的元素就前移k个 , 但是忽略了向前移动后 , 留在原地的元素其实又和元素自己向前移动后的位置元素重复了 , 造成k计数不准 , 然后就只能没遇到一个元素就将后面所有的元素都向前移一个(解法二) , 不知道有没有大佬能解决我遇到的问题 , 每遇到一个都前移的话 , 效率不够高 。
- 33朵玫瑰代表什么意思
- 三十三 算法数据结构----有序表
- 昆虫备忘录怎么写
- wink表情包是什么意思
- 如何把excel表的联系方式导入到手机
- Hash Table 算法数据结构基础——哈希表
- 建立中间表 在MySQL中建立多对多关系的映射
- 世界十大手表品牌排行榜 手表品牌排行榜前十名
- 分治 循环赛日程表
- YUV编码