使用帶頭結點的單鏈表程式設計:
有兩個有序序列,分別表示兩個集合。
求它們的交集並輸出。
注意:這裡要利用到「有序」的特性。
第一行輸入序列a的資訊:
第乙個整數n(0<=n<=100),表示共有n個元素,其後有n個整數,表示n個元素的資料
第一行輸入序列b的資訊:
第乙個整數n(0<=n<=100),表示共有n個元素,其後有n個整數,表示n個元素的資料
注:兩個序列輸入時保證有序
輸出交集的元素序列,輸出格式見範例。
如果交集為空,則輸出「head-->tail」
4 1 3 5 74 1 4 5 8
head-->1-->5-->tail無非就是每次p2的指標不從head2開始,而是保持當前位置。
#include #include #include #include #include #include #include using namespace std;
struct listnode
;int lenght(listnode* head)
return l;
}void output(listnode* head)
cout << "tail";
cout << endl;
return;
}int main()
head2 = null;
cin >> n;
for (i = 0; i < n; i++)
if (lenght(head1) == 0 || lenght(head2) == 0)
head3 = null;
p1 = head1;
p4 = null;
p2 = head2;
while (1)
if (p2->next == null || p2->num>p1->num)
break;
else
p2 = p2->next;
} if (p1->next == null)
break;
else
p1 = p1->next;
} if(head3!=null)
output(head3);
else
cout << "head-->tail" << endl;
return 0;
}
求有序序列的交集(鍊錶)
問題描述 使用帶頭結點的單鏈表程式設計 有兩個有序序列,分別表示兩個集合。求它們的交集並輸出。注意 這裡要利用到 有序 的特性。輸入說明 第一行輸入序列a的資訊 第乙個整數n 0 n 100 表示共有n個元素,其後有n個整數,表示n個元素的資料 第一行輸入序列b的資訊 第乙個整數n 0 n 100 ...
求序列的交集(鍊錶)
問題描述 使用帶頭結點的單鏈表程式設計 有兩個序列,分別表示兩個集合。求它們的交集並輸出。輸入說明 第一行輸入序列a的資訊 第乙個整數n 0 n 100 表示共有n個元素,其後有n個整數,表示n個元素的資料 第一行輸入序列b的資訊 第乙個整數n 0 n 100 表示共有n個元素,其後有n個整數,表示...
7 求有序序列的交集(鍊錶) c
問題描述 使用帶頭結點的單鏈表程式設計 有兩個有序序列,分別表示兩個集合。求它們的交集並輸出。注意 這裡要利用到 有序 的特性。輸入說明 第一行輸入序列a的資訊 第乙個整數n 0 n 100 表示共有n個元素,其後有n個整數,表示n個元素的資料 第一行輸入序列b的資訊 第乙個整數n 0 n 100 ...