Kỹ thuật lập trình - Mảng

Cấu trúc mảng

Cấu trúc struct

Xây dựng “hàm” và truyền tham số

Một số vấn đề liên quan đến “hàm”

 

ppt36 trang | Chia sẻ: Mr Hưng | Lượt xem: 845 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Kỹ thuật lập trình - Mảng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MẢNG8/28/2016Nội Dung Trình BàyCấu trúc mảngCấu trúc structXây dựng “hàm” và truyền tham sốMột số vấn đề liên quan đến “hàm” DateKhai báo và cấp phát vùng nhớ các biếnDateLưu ÝTrong Pascal,C hay C++ : việc khai báo đồng nghĩa với việc cấp phát vùng nhớ cho biến để lưu trữ dữ liệuVí dụ Var i : integer ; r : Real;irDateLưu ÝCũng tương tự trong C/C++, ngoài ra khi khai báo thì tự động gán giá trị ngầm định cho từng kiểu dữ liệuVí dụ int i ; char c;0\0icDateLưu ÝTrong C# thì khai báo và cấp phát vùng nhớ là 2 việc khác nhau !!!Ví dụ (trong C#) int i ; // chỉ khai báo biến float f = 1.34f; // khai báo và cấp phát //vùng nhớDateLưu ÝCó thể “tưởng tượng” như sau :int i, j=12, k;float f=12.5f, g,h=17.6f;1212.517.6jfh i k gDateusing System;class Test{ public static void Main() {int i, j=12, k; float f=12.5f, g,h=17.6f; }}Dateusing System;class Test{public static void Main(){int i, j=12;Console.WriteLine(" i = {0} , j = {1} ",i,j);}}DateNhận xétThường khai báo trước kiểu dữ liệu của biến để tránh sai sót khi thực hiện các phép tính toán về sauNên kết hợp khai báo và khởi tạo biến cùng lúcDateusing System;class Test{public static void Main(){int i, j=12;i=Math.Sqrt(12);Console.WriteLine(" i = {0} , j = {1} ",i,j);}}DateSử DụngMảng Trong C#DateƯu điểm của mảngTổ chức quản lý tốtCùng 1 kiểu (!!!)Thể hiện cấu trúc dữ liệu Danh sách đặc : duyệt, thêm, chèn, xóa tìm, sắp xếp nối ghép danh sách,trộn  Nên sử dụng các CTDL do .NET cung cấpDateCú pháp khai báo mảngKhai báo mảng 1 chiều [ ] ;Lưu ý - Cú pháp khác so với C/C++- Chỉ là khai báo, chứ chưa cấp phát vùng nhớ (chưa khởi tạo)DateKhai báo và khởi tạo mảngCú pháp khai báo và khởi tạo = new [sốpt];Có thể kết hợp khai báo lẫn khởi tạoVí dụ float [ ] f_array = new float[10]; int [ ] i = new int[]{2,4,6,8};Khai báo riêng và phải khởi tạo trước khi sử dụngstring[] list;list = new string[3];DateVí Dụpublic class Class1{ //tạm thời chưa khaí báo biến ỡ đây!!static public void Main () { float [ ] f_arr= new float[10]; int [ ] i_arr = new int[ ]{2,4,6,8}; string[ ] list; list = new string[3]; for (int i=0;i in ) ;using System;class Vidu2_4{static public void Main(){float [] num = new float[] {1,2,3,4,5,6};string[] name= new string[]{"Tam","Vu","Hung","Dung"};foreach (float f in num ) Console.WriteLine(f);foreach (string s in name ) Console.WriteLine(s);}}DateMảng nhiều chiềuCho phép tạo mảng nhiều chiềuDạng bảng chữ nhậtCú pháp [ , ..] ;Ví dụ float [ , ] this year; //2 chiều int [ , , ] vacumm; // 3 chiềuDateVí dụ khai báo và cấp phátusing System;class Vidu2_6{static public void Main(){int[,] month = new int[2,4];float [, ,] room = new float [4,5,10];string[,] name; }}DateVí dụusing System;class Vidu2_7{static public void Main() { int r=3, c=2; int[,] month ; float [,,] room; month = new int [r,c]; room = new float [r,r,r]; for (int i=0;i [ ] [ ] ;Nhận xét :  là 1 mảng, mỗi phần tử trong mảng lại là 1 mảng khácDateVí dụMảng có 2 chiều, chiều thứ nhất có 2 phần tửPhần tử thứ 1 chiều thứ nhất có 2 phần tửPhần tử thứ 2 chiều thứ nhất có 5 phần tửDateKhai báo (Ví dụ)int [ ] [ ] list ; //khai báolist = new int[ 2][ ] ;list[0] = new int [2] ;list [1] = new int [5] ;DateMột số lưu ý khi sử dụng mảng- Sử dụng thuộc tính Length của mảng thay vì phải nắm số phần tử trong mảng- Cấu trúc lặp foreach hữu hiệu hơn là dùng for !!!- Lấy số chiều 1 mảng : sử dụng thuộc tính rankDateGiới thiệu trước (gviên)- Lớp trừu tượng Array- Lớp ArrayList : mô phỏng danh sách đặc và dsliên kết- Lớp Queue : mô phỏng hàng đợi- Lớp Stack : mô phỏng ngăn xếp (chồng)- Lớp HashtableDate

Các file đính kèm theo tài liệu này:

  • pptcosolaptrinh_csharp_bai5_1366.ppt
Tài liệu liên quan