数据结构(C语言版) 线性表 算法设计Demo28

Posted 奕兴_Victor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版) 线性表 算法设计Demo28相关的知识,希望对你有一定的参考价值。

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

[算法分析]

注意是有序顺序表,值相同的元素一定在连续的位置上,用类似与直接插入排序的思想,初始时将第一个元素视为非重复的有序表。之后依次判断后面的元素是否与前面非重复有序表的最后一个元素相同,若相同,则继续向后判断,若不同,则插入前面的非重复有序表的最后,直至判断到表尾为止。

[算法描述]

bool delete_Same(SeqList& L)
	if(L.length==0)
		return false;
	int i,j; //i存储第一个不相同的元素,j为工作指针
	for(i=0,j=1;j<L.length;j++)
		if(L.data[i]!=L.data[j]) //查找下一个与上个元素值不同的元素
			L.data[++i]=L.data[j]; //找到后,将元素前移
	L.length=i+1;
	return true;

CSDN 社区图书馆,开张营业! 深读计划,写书评领图书福利~

以上是关于数据结构(C语言版) 线性表 算法设计Demo28的主要内容,如果未能解决你的问题,请参考以下文章

数据结构(C语言版) 线性表 算法设计Demo18

数据结构(C语言版) 线性表 算法设计Demo17

数据结构(C语言版) 线性表 算法设计Demo19

数据结构(C语言版) 线性表 算法设计Demo11

数据结构(C语言版) 线性表 算法设计Demo29

数据结构(C语言版) 线性表 算法设计Demo26