基於鍊錶的方式來組織集合元素,集合類的操作與上一次作業一樣,但把通過函式呼叫方式實現的集合交、並、差運算通過第四章的*、+、-運算子過載實現,以統一程式設計風格。
#include
using
namespace std;
struct node
;class
set//從頭結點開始遍歷輸出
out<<
"}"
//返回第乙個引數(連續輸出) }}
;set::
set(
)//無參建構函式
set::
set(set & x)
//複製建構函式
}set::
~set()
//析構函式
head=
null;}
int set::
find
(int x)
return-1
;}void set::
insert
(int x)
else
if(tmp2==
null
) head=tmp;
else
tmp2-
>next=tmp;}}
void set::
del(
int x)
else
else}}
}void set::
clear()
head=
null;}
set &set::
operator=(
const set & x)
return
*this;}
set set::
operator
*(set & x)
return tmp;
}set set::
operator
+(set & x)
return tmp;
}set set::
operator
-(set & x)
return tmp;
}int
main()
基於類模板實現通用型別的集合操作
#include
#include
using
namespace std;
template
<
typename t1=
int>
struct node
;template
<
typename t=
int>
class
setset
(set & x)}~
set(
) head=
null;}
intfind
(t x)
return-1
;}void
insert
(t x)
else
if(tmp2==
null
) head=tmp;
else
tmp2-
>next=tmp;}}
void
del(t x)
else
else}}
}void
clear()
head=
null;}
set&operator=(
const set & x)
return
*this;}
setoperator
*(set & x)
return tmp;
}set
operator
+(set & x)
return tmp;
}set
operator
-(set & x)
return tmp;
}friend ostream &
operator
<<
(ostream & out,
const set & x)
//從頭結點開始遍歷輸出
out<<
"}"
//返回第乙個引數(連續輸出) }}
;int
main()
Set集合類 注意
customer類的equals 方法 public boolean equals object o 向hashset中加入兩個customer物件 set set new hashset customer customer1 new customer jim 18 customer custome...
集合,Set實現類筆記
回顧 list體系 棧 佇列 陣列 鍊錶 list體系的三個子類 arraylist 資料結構 陣列 vector 資料結構 陣列 特有功能 linkedlist 資料結構 鍊錶 特有功能 first last 面試題 模擬棧結構 泛型 明確資料型別的工作放在建立物件 或者 呼叫方法的時候 型別轉換...
Collection集合類(Set介面)
set介面 extend collection介面 特點 1 不允許重複的元素 2 設有索引,沒有帶索引的方法,也不能進行普通for 3 是乙個元素的集合,訪問可能不一致 4 底層是雜湊表 查詢快 方法上和collection一致 實現類 hashset 由雜湊表構成 例 setset new ha...