数据结构题典006:有序表中冗余元素的删除(ANSI C)
2011-12-25 19:24
281 查看
1、顺序表,假设元素已按升序排序
2、单链表,假设元素已按升序排序
/* * remove redundant elements from ordered sequence */ int remove_redundant_elem( int c[], int n ) { int i = 0, j = 1; while( j < n ) { if( c[i] != c[j] ) c[++i] = c[j]; ++j; } return i + 1; }
2、单链表,假设元素已按升序排序
void remove_redundant_elem_llist( link_list * lst ) { node_ptr h = *lst, r = NULL, p = NULL; assert( h != NULL ); r = h->next; if( r != NULL ) p = r->next; while( p != NULL ) { if( p->data != r->data ) r = p; else { r->next = p->next; free( p ); } p = r->next; } }
相关文章推荐
- 数据结构之从有序的顺序表中删除所有其值重复的元素,使表中的元素均不相同
- 数据结构题典002:删除单链表中最大元素所在结点(ANSI C)
- 数据结构----实现对2个链表La,Lb有序合并,对相同的元素进行删除,
- Java代码实现删除一个有序数组里面的重复元素
- 【Leetcode】83. Remove Duplicates from Sorted List - 从顺序链表中删除冗余元素
- 删除有序数组中重复出现的元素
- 程序员面试题目总结--数组(一)【递归求数组所有元素和、用一个for循环打印出一个二维数组、用递归判断数组是否是递增、有序数组中删除重复元素】
- 数据结构 - 从一个链表中删除在另一个链表中的元素(C++)
- 单链表删除有序重复元素
- 要完整准确的 均以单链表作存储结构 试编写算法将A表和B表归并成一个按元素值递减有序的线性表C 【数据结构】假设有两个按元素值递增有序的线性表A和B 并要求利用原表的空间存放C。谁会么
- 《数据结构与算法——C语言描述》答案 3.16 删除链表中的重复元素
- 删除有序链表中重复的元素
- lintcode&九章算法——101. 删除有序数组里的重复元素 II ? 待解决
- 删除有序数组中的重复元素 Remove Duplicates from Sorted Array
- 数据结构--删除单链表中重复元素
- 删除数组中冗余元素
- 数据结构题典018:三个有序单链表求交(ANSI C)
- 数据结构的一些基本操作(在表L中插入第i个元素e. 操作成功返回OK,失败时返回ERROR,删除表L中第i个元素,结果用e返回. 操作成功返回OK,失败时返回ERROR)
- 面试编程题拾遗(03) --- 删除有序数组中的重复元素
- 数据结构之 线性表---单链表操作A (删除链表中的指定元素)