新手菜鳥學習C 的筆記總結 之陣列與集合 下

2021-06-20 09:06:42 字數 3069 閱讀 4809

接上節……

集合的使用:

1)動態陣列類arraylist,與固定陣列類似,下面總結不同的地方

①元素新增

class program

}

②元素插入

class program

}

③元素刪除

class program

}

class program

}

④元素查詢

class program

}

⑤元素容量調節

static void main(string args)

⑥動態陣列轉換成靜態陣列

class program

}

2)佇列queue類(先進先出)

①佇列的定義

class program

;queue line1 = new queue();//預設初始化 容量32,增長係數2.0

queue line2 = new queue(10);//設定初始容量為10

queue line3 = new queue(10, 3);//設定初始容量為 10 ,增長係數3.0,增長3倍?

queue line4 = new queue(table);//以陣列table來定義佇列

}}

②元素新增與輸出

class program

;queue line4 = new queue(table);//以陣列table來定義佇列

foreach (int t in line4)

line4.enqueue(11);//將11加入佇列末尾

foreach (int t in line4)

console.writeline(line4.dequeue());//第乙個元素 1 出列

}}

3)堆疊類stack類(先進後出)

①堆疊的定義

static void main(string args)

;stack stack1 = new stack();//預設容量為10

stack stack2 = new stack(20);//初始化容量為20

stack stack3 = new stack(table);//用陣列table來初始化堆疊

}

②入棧與出棧

static void main(string args)

;stack stack3 = new stack(table);//用陣列table來初始化堆疊

stack3.push(11);//在末尾加入乙個元素11

console.writeline(stack3.pop());//後進先出,推出最後乙個元素11

}

4)雜湊表hashtable,鍵值與值對應

①hashtable的定義

class program

}

②hashtable元素的新增(新增在頭還是尾呢?)

static void main(string args)

\t value:",t.key,t.value);

}}

③hashtable元素的刪除

class program

\t value:",t.key,t.value);}}

}

class program

\t value:",t.key,t.value);}}

}

④hashtable元素的查詢

class program

}

4)排序列表sortedlist

①sortedlist的定義

class program

②sortedlist元素的新增(無論以什麼順序新增,都會以鍵值順序(從小到大)加入集合)

class program

}}

sortedlist

元素的刪除

class program

sortlist1.clear();//清楚所有元素

}}

④sortedlist元素的查詢
class program

",sortlist1.contains(3));

console.writeline("是否存在鍵值為5的數?:", sortlist1.containskey(5));

console.writeline("是否存在數值為2的數?:", sortlist1.containsvalue(2));

}}

⑤sortedlist元素值的讀取或修改(可以用使用下標)
class program

}

⑥sortedlist,hashtable,stack,queue集合複製到array(陣列)中  copyto()

class program

}

輸出結果:

43210000000000000000

12340000000000000000

12340000000000000000

00000000000000004321

新手菜鳥學習C 的筆記總結 之委託

委託 委託是什麼?通過的學習,我們知道 委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用if else switch 語句,同時使得程式具有更好的可擴充套件性。個人感覺,委託分為委託型別 就是可以接受哪種方法 和...

新手菜鳥學習C 的筆記總結 之介面

介面 何為介面?定義 是物件導向的重要組成部分。負責功能的定義,但不具體實現。可被類和結構繼承,並且,乙個類,可以繼承多個介面。介面可從其他介面派生。同時,繼承介面的類,必須實現該介面的全部功能,比如方法的實現。特點 介面成員不能加任何修飾符,但介面本身可以有訪問修飾符,非巢狀時只能用 inerna...

新手菜鳥學習C 的筆記總結 之多型

多型的定義 同一操作作用於不同的類的例項,不同的類將進行不同的解釋,最後產生不同的結果。有兩種形式 1,編譯時的多型,體現在過載上,根據傳遞的引數,返回值,來決定實現的操作。2,執行時的多型,體現在虛方法上,執行時,根據實際情況來決定實現何種操作。具體多型的情況 1,虛方法 通過virtual來實現...