從現在的2023年3月14日開始,記錄我在軟體工程的學習進度。
前幾天老師給出選做題,編寫乙個有關集合的線性表資料結構。
當時我還考慮著集合的三大特性,想得頭皮發麻,幾個小時的後,終於搞定了。以下為原始碼:
//從頭到尾,結構體內元素不含空格,cout額外輸出
#include #include #define max 200
typedef char elemtype;
typedef struct
aggregate;
void initagg(aggregate *&l)
void assignagg(aggregate *&l, elemtype a, int n)
else
flag = 0;
}}
if(flag == 0)
if(flag == 1)
continue;
} l->length = s;
}void dispagg(aggregate *l)
l3->length = i;
p = i;
for(k=0;klength;k++)
else
flag = 0;
} if(flag == 1)
continue;
if(flag == 0)
}cout<<"l1∪l2為:";
for(i=0;ichara[i]<<" ";
cout}
if(flag == 1)
}if(s>0)
coutif(l1->chara[n] != l2->chara[k])
}if(flag == 1)
continue;
if(flag == 0)
}if(s>0)
cout《在編寫**時,呼叫dispagg函式就出現問題,原因是在對順序表初始化的時候執行迴圈的次數的控制與物理順序和邏輯順序陣列的關係,因為考慮到集合的互異性,必須在assignagg函式處執行迴圈控制,在「第一處」和「第二處」對邏輯順序和物理順序的理解非常重要。還要注意對錯誤元素的判斷,提高程式的健壯性。
資料結構 集合
陣列 陣列長度在初始化的時候就已經固定,不適合物件數量未知的情況。下圖為collection 於的部落格 下圖為map 於網路 1.介紹一下list比較常用的集合 有序,值允許重複 1 arraylist 底層實現 private static final object defaultcapacit...
資料結構 集合
乙個識別符號 集合set 可以儲存多個資料,資料不能重複。集合與陣列的區別,集合的內容具有唯一性 全等匹配 宣告集合 let f70 newset f71 集合賦值 let f71 let f70 newset f71 集合賦值 f70.add 1 f70 add 2 f70.add 1 f70 a...
集合和資料結構
類似的資料在作為集合而儲存和操作時通常可以得到更高效地處理。可使用 system.array 類或 system.collections system.collections.generic system.collections.concurrent 和 system.collections.imm...