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的元素