1. 根据两个有序单链表生成一个新的有序单链表,原有单链表保持不变
要求新生成的链表中不允许有重复元素
算法如下 ListNode * Merge ( ListNode * L1, ListNode * L2 ) {//根据两个带表头结点的有序单链表L1 和L2, 生成一个新的有序单链表 ListNode *first = new ListNode; ListNode *p1 = L1->link, *p2 = L2->link, *p = first, *q; while ( p1
= NULL && p2
= NULL ) { q = new ListNode; if ( p1->data == p2->data ) { q->data = p1->data; p2 = p2->link; p1 = p1->link; } else if ( p1->data < p2->data ) { q->data = p1->data; p1 = p1->link; } else { q->data = p2->data; p2 = p2->link; } p->link = q; p = q; } while ( p1
= NULL ) { q = new ListNode; q->data = p1->data; p1 = p1->link; p->link = q; p = q; } while ( p2
= NULL ) { q = new ListNode; q->data = p2->data; p2 = p2->link; p->link = q; p = q; } p->link = NULL; return first; } 2. 设有一个线性表 (e0, e1, …, en-2, en-1) 存放在一个一维数组 A[arraysize]中的前 n