題目:有兩個有序的集合,集合的每個元素都是一段範圍,求其交集,例如交集和的交集是
兩個有序的集合,集合的每個元素都是一段範圍,求其交集
所求交集結果直接列印到輸出終端
@param collects1:集合1
@param collects2:集合2
引數校驗:集合內要有元素;0號下標小於1號下標
public static void intersectionwithcolletion(list
<
list
<
integer
>> collects1, list
<
list
<
integer
>> collects2) {}
第一步:建立引數校驗的方法 isvaild(),該方法不外露
private static boolean isvaild(list
<
list
<
integer
>> collects)
iterator <
list
<
integer
>> iterator = collects.iterator();
while (iterator.hasnext())
if (list
.get(0) >
list
.get(1))
}return
true;
}
第二步:引數校驗collections是list>
型別的,遍歷集合
public static void intersectionwithcolletion(list
<
list
<
integer
>> collects1, list
<
list
<
integer
>> collects2)
//迭代器型別的
iterator <
list
<
integer
>> iterator1 = collects1.iterator();
while (iterator1.hasnext()) }}
第三步:求區間交集,分情況輸出
private
static
void
intersection(listlist1, listlist2)
if (a1 == b2)
if (a2 == b1)
if (a1 >= b1) else
}if (b1 >= a1) else }}
所有情況如圖所示:
測試:
public
static void main(string args)
測試結果:
集合賦值如圖所示:
兩集合(陣列)求交集
演算法一步驟 sortsortintersectionalgorithm 1 sort集合一 2 sort集合二 3 同時遍歷已排序的兩集合,進行計算 演算法二步驟 sortintersectionalgorithm 1 sort集合一 2 遍歷集合二到已排序的集合一種進行查詢,並計算 演算法的基準...
資料結構實踐 順序表 兩集合的交集
all right reserved.檔名稱 creat2.cpp 作 者 姜延鍇 完成日期 2016年9月21日 版 本 號 v1.9 輸入描述 各個集合 程式輸出 合併後的集合 include list.h include void unionlist sqlist la,sqlist lb,s...
求集合交集
求整數集合a與整數集合b的交集。輸入格式 輸入有三行 第一行是a和b的元素個數m和n 第二行是集合a的m個元素 第三行是集合a的n個元素。輸出格式 輸出交集的所有元素 按照在a集合出現的順序輸出,最後乙個輸出後面沒有空格 輸入樣例 在這裡給出一組輸入。例如 3 410 9 2 9 10 8 0 輸出...