Bài giảng lập trình DOT NET - Bài 7 Cấu trúc dữ liệu trong C#
Số trang: 17
Loại file: ppt
Dung lượng: 467.50 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nắm được các khái niệm cơ bản về danh sách liên kết, hàng đợi, ngăn xếp…Biết cách thao tác, ứng dụng của danh sách liên kết, hàng đợi, ngăn xếp, … vào các vấn đề cụ thể.Hàng đợi là một tập hợp trong đó có thứ tự vào trước và ra trước (FIFO).Hàng đợi là kiểu dữ liệu tốt để quản lý những nguồn tài nguyên giới hạn. Ví dụ, chúng ta muốn gởi thông điệp đến một tài nguyên mà chỉ xử lý được duy nhất một thông điệp một lần. Khi đó chúng ta sẽ thiết lập một...
Nội dung trích xuất từ tài liệu:
Bài giảng lập trình DOT NET - Bài 7 Cấu trúc dữ liệu trong C# Cấu trúc dữ liệu trong C# Bài7 Yêu cầu Nắmđượccáckháiniệmcơbảnvềdanh sáchliênkết,hàngđợi,ngănxếp… Biếtcáchthaotác,ứngdụngcủadanh sáchliênkết,hàngđợi,ngănxếp,…vào cácvấnđềcụthể.Danh sách liên kếtusingSystem;usingSystem.Collections.Generic;usingSystem.Text;publicclasslk{publicNodehead,current;publicclassNode{publicNodenext;publicintitem;}} Danh sách liên kết staticvoidMain(string[]args){lkdanhsach=newlk();danhsach.head=null;for(inti=1;iHàng đợi (Queue) Hàngđợilàmộttậphợptrongđócóthứtựvào trướcvàratrước(FIFO). Hàngđợilàkiểudữliệutốtđểquảnlýnhững nguồntàinguyêngiớihạn.Vídụ,chúngtamuốn gởithôngđiệpđếnmộttàinguyênmàchỉxửlý đượcduynhấtmộtthôngđiệpmộtlần.Khiđó chúngtasẽthiếtlậpmộthàngđợithôngđiệpđể xửlýcácthôngđiệptheothứtựđưavào.Hàng đợi (Queue)Hàng đợi (Queue)publicstaticvoidMain(){QueueintQueue=newQueue();for(inti=0;iHàng đợi (Queue)publicstaticvoidPrintValues(IEnumerable myCollection){ IEnumeratormyEnumerator= myCollection.GetEnumerator(); while(myEnumerator.MoveNext()) Console.Write(“{0}”,myEnumerator.Current); Console.WriteLine();}Ngăn xếp (Stack) Ngănxếplàmộttậphợpmàthứtựlàvào trướcrasauhayvàosaoratrước(LIFO). Haiphươngthứcchínhchoviệcthêmvàxóatừ StacklàPushvàPop,ngoàirangănxếpcũng đưaraphươngthứcPeektươngtựnhư Peektronghàngđợi. PhươngthứcvàthuộctínhcủalớpStack:Ngăn xếp (Stack)Ngăn xếp (Stack)publicclassTester{staticvoidMain(){StackintStack=newStack();for(inti=0;iNgăn xếp (Stack)Console.Write(“intStackvalues: ”);PrintValues(intStack);Console.WriteLine(“ Peek {0}”, intStack.Peek());Console.Write(“intStackvalues: ”);PrintValues(intStack);ArraytargetArray=Array.CreateInstance(typeof(int), 12);for(inti=0;iNgăn xếp (Stack)Console.WriteLine(“ Targetarray:”);PrintValues(targetArray);intStack.CopyTo(targetArray,6);Console.WriteLine(“ Targetarrayaftercopy:”);PrintValues(targetArray);Object[]myArray=intStack.ToArray();Console.WriteLine(“ Thenewarray:”);PrintValues(myArray);Kiểu từ điển Từđiểnlàkiểutậphợptrongđócóhai thànhphầnchínhliênhệvớinhaulà khóavàgiátrị. Kiểudữliệutừđiểntrong.NET Frameworkcóthểkếthợpbấtcứkiểu khóanàonhưkiểuchuỗi,sốnguyên, đốitượng...vớibấtcứkiểugiátrịnào (chuỗi,sốnguyên,kiểuđốitượng).Bảng băm (Hashtables) Hashtablelàmộtkiểutừđiểnđượctốiưucho việctruycậpđượcnhanh. TrongmộtHashtable,mỗigiátrịđượclưutrữ trongmộtvùng.Mỗivùngđượcđánhsốtươngtự nhưlàtừngoffsettrongmảng.Dokhóacóthể khôngphảilàsốnguyên,nênphảichuyểncác khóathànhcáckhóasốđểánhxạđếnvùnggiá trịđượcđánhsố.Giao diện từ điển (IDictionary) Hashtablelàmộttừđiểnvínóthựcthigiaodiện IDictionary.IDictionarycungcấpmộtthuộctính publiclàItem. TrongngônngữC#thuộctínhItemđượckhaibáo nhưsau: objectthis[objectkey] {get;set;}Giao diện từ điển (IDictionary)//tạovàkhởitạohashtableHashtablehashTable=newHashtable();hashTable.Add(“00440123”,”NgocThao”);hashTable.Add(“00123001”,”MyTien”);hashTable.Add(“00330124”,”ThanhTung”);//truycậpquathuộctínhItemConsole.WriteLine(“myHashtable[“00440123”]:{0}”,hashTable[“00440123”]); ...
Nội dung trích xuất từ tài liệu:
Bài giảng lập trình DOT NET - Bài 7 Cấu trúc dữ liệu trong C# Cấu trúc dữ liệu trong C# Bài7 Yêu cầu Nắmđượccáckháiniệmcơbảnvềdanh sáchliênkết,hàngđợi,ngănxếp… Biếtcáchthaotác,ứngdụngcủadanh sáchliênkết,hàngđợi,ngănxếp,…vào cácvấnđềcụthể.Danh sách liên kếtusingSystem;usingSystem.Collections.Generic;usingSystem.Text;publicclasslk{publicNodehead,current;publicclassNode{publicNodenext;publicintitem;}} Danh sách liên kết staticvoidMain(string[]args){lkdanhsach=newlk();danhsach.head=null;for(inti=1;iHàng đợi (Queue) Hàngđợilàmộttậphợptrongđócóthứtựvào trướcvàratrước(FIFO). Hàngđợilàkiểudữliệutốtđểquảnlýnhững nguồntàinguyêngiớihạn.Vídụ,chúngtamuốn gởithôngđiệpđếnmộttàinguyênmàchỉxửlý đượcduynhấtmộtthôngđiệpmộtlần.Khiđó chúngtasẽthiếtlậpmộthàngđợithôngđiệpđể xửlýcácthôngđiệptheothứtựđưavào.Hàng đợi (Queue)Hàng đợi (Queue)publicstaticvoidMain(){QueueintQueue=newQueue();for(inti=0;iHàng đợi (Queue)publicstaticvoidPrintValues(IEnumerable myCollection){ IEnumeratormyEnumerator= myCollection.GetEnumerator(); while(myEnumerator.MoveNext()) Console.Write(“{0}”,myEnumerator.Current); Console.WriteLine();}Ngăn xếp (Stack) Ngănxếplàmộttậphợpmàthứtựlàvào trướcrasauhayvàosaoratrước(LIFO). Haiphươngthứcchínhchoviệcthêmvàxóatừ StacklàPushvàPop,ngoàirangănxếpcũng đưaraphươngthứcPeektươngtựnhư Peektronghàngđợi. PhươngthứcvàthuộctínhcủalớpStack:Ngăn xếp (Stack)Ngăn xếp (Stack)publicclassTester{staticvoidMain(){StackintStack=newStack();for(inti=0;iNgăn xếp (Stack)Console.Write(“intStackvalues: ”);PrintValues(intStack);Console.WriteLine(“ Peek {0}”, intStack.Peek());Console.Write(“intStackvalues: ”);PrintValues(intStack);ArraytargetArray=Array.CreateInstance(typeof(int), 12);for(inti=0;iNgăn xếp (Stack)Console.WriteLine(“ Targetarray:”);PrintValues(targetArray);intStack.CopyTo(targetArray,6);Console.WriteLine(“ Targetarrayaftercopy:”);PrintValues(targetArray);Object[]myArray=intStack.ToArray();Console.WriteLine(“ Thenewarray:”);PrintValues(myArray);Kiểu từ điển Từđiểnlàkiểutậphợptrongđócóhai thànhphầnchínhliênhệvớinhaulà khóavàgiátrị. Kiểudữliệutừđiểntrong.NET Frameworkcóthểkếthợpbấtcứkiểu khóanàonhưkiểuchuỗi,sốnguyên, đốitượng...vớibấtcứkiểugiátrịnào (chuỗi,sốnguyên,kiểuđốitượng).Bảng băm (Hashtables) Hashtablelàmộtkiểutừđiểnđượctốiưucho việctruycậpđượcnhanh. TrongmộtHashtable,mỗigiátrịđượclưutrữ trongmộtvùng.Mỗivùngđượcđánhsốtươngtự nhưlàtừngoffsettrongmảng.Dokhóacóthể khôngphảilàsốnguyên,nênphảichuyểncác khóathànhcáckhóasốđểánhxạđếnvùnggiá trịđượcđánhsố.Giao diện từ điển (IDictionary) Hashtablelàmộttừđiểnvínóthựcthigiaodiện IDictionary.IDictionarycungcấpmộtthuộctính publiclàItem. TrongngônngữC#thuộctínhItemđượckhaibáo nhưsau: objectthis[objectkey] {get;set;}Giao diện từ điển (IDictionary)//tạovàkhởitạohashtableHashtablehashTable=newHashtable();hashTable.Add(“00440123”,”NgocThao”);hashTable.Add(“00123001”,”MyTien”);hashTable.Add(“00330124”,”ThanhTung”);//truycậpquathuộctínhItemConsole.WriteLine(“myHashtable[“00440123”]:{0}”,hashTable[“00440123”]); ...
Tìm kiếm theo từ khóa liên quan:
ngôn ngữ C++ chương trình lập trình kỹ thuật phần mềm phần mềm máy tính lập trình C++ Lap trinh DotnetTài liệu liên quan:
-
Bài giảng Xử lý sự cố phần mềm - Bài 4 Xử lý sự cố sử dụng Internet
14 trang 344 0 0 -
Nhập môn Tin học căn bản: Phần 1
106 trang 335 0 0 -
64 trang 266 0 0
-
Thủ thuật giúp giải phóng dung lượng ổ cứng
4 trang 217 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 188 0 0 -
Báo cáo nghiên cứu khoa học: Xây dựng ứng dụng quản lý sinh viên trên thiết bị di động
36 trang 144 0 0 -
142 trang 130 0 0
-
Excel add in development in c and c phần 9
0 trang 110 0 0 -
150 trang 105 0 0
-
Giáo trình Cấu trúc máy tính: Phần 1 - Tống Văn On (chủ biên)
289 trang 82 0 0