C语言数据结构,在一个顺序表中删除所有元素值3的倍数的元素,求代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言数据结构,在一个顺序表中删除所有元素值3的倍数的元素,求代码相关的知识,希望对你有一定的参考价值。

参考技术A 循环遍历 (假设pointer,back 都是该结构体指针,number是要插入的元素)for(pointer=head;pointer->data<=number;pointer=pointer->next) back=pointer;执行完以后 pointer 就停在比number大一点的元素上 back 停在小于等于number的元素上(poinger的前一个元素) 假如有元素等于number 那肯定是back指向的元素 因为这个链表插入数据是有相同输入就不插入而且有序递增 所以不会有重复 也就是说 执行完以后只要判断 1:如果 *back==number 结束 2:否则 将number插入到back 与 pointer 节点之间

数据结构(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语言数据结构,在一个顺序表中删除所有元素值3的倍数的元素,求代码的主要内容,如果未能解决你的问题,请参考以下文章

C语言使用二级指针借助递归工作栈删除单链表中所有值为x的元素

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

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

C语言:键盘输入1创建顺序表,输入2插入数据,输入3查询数据,输入4删除数据.要求顺序表中的数据为结构体类型

删除顺序表中所有值为x的数据元素

c语言数据结构(考题,测试你的能力)--编写源代码