1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cơ sở lập trình máy tính: Chương 6 - ThS. Nguyễn Thị Khiêm Hòa

45 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 2,28 MB

Nội dung

Chương 6 Mảng, chỉ mục và tập hợp nằm trong bài giảng cơ sở lập trình máy tính nhằm trình bày về các nội dung chính: mảng và giao diện tập hợp, khởi tạo và truy xuất mảng, câu lệnh foreach, truyền tham số mảng vào phương thức, chỉ mục đối tượng.

Chương 6: Mảng, mục tập hợp Giảng viên: Ths Nguyễn Thị Khiêm Hịa Khoa Cơng nghệ Thơng tin - Đại học Ngân hàng TP.HCM Nội dung   Mảng Giao diện tập hợp Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Danh sách  Định nghĩa Danh sách dãy hữu hạn có thứ tự phần tử thuộc lớp đối tượng  Ký hiệu: L(a1, a2, …, an)  Danh sách tuyến tính danh sách mà quan hệ lân cận phần tử hiển thị Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Danh sách  Tổ chức lưu trữ danh sách nhớ  Mảng - Danh sách đặc  Danh sách liên kết – Danh sách động Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Mảng  Tập hợp phần tử kiểu liệu, nằm liên tiếp nhớ  Có số  Giá trị mặc định phần tử mảng quy định theo kiểu đối tượng  Mảng đối tượng  Kích thước: nhiều chiều Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Tạo mảng    Khai báo [ ] ;  Ví dụ: int [ ] array; Khởi tạo [ ] = new [];  Ví dụ: int[ ] array = new int[5]; Mảng đối tượng [ ] = new [];  Ví dụ: Animal [ ] animals = new Animal [10]; Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Khởi tạo truy xuất mảng  Có thể dùng dấu { } để khởi tạo giá trị cho phần tử mảng int[] numbers = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; numbers[4] = 6; string[] animal = {"Mouse", "Cat", "Lion"}; animal[1]= "Elephant"; string someAnimal = animal[2]; Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Câu lệnh foreach  Dùng câu lệnh foreach để lặp lại việc truy xuất phần tử mảng int[] numbers = {4,5,6,1,2,3,-2,-1,0}; int Tong = 0; foreach (int a in numbers) { Tong += a; } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Truyền tham số mảng vào phương thức  Dùng từ khóa params để truyền tham số mảng public int Sum(params int[] list) { int total = 0; foreach ( int i in list ) { total += i; } return total; } int [] pe; int value = pe.Sum( 1, 3, 5, 7, 9, 11 ); Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Chỉ mục đối tượng  Dùng từ khóa this với get set properties public class Zoo { private Animal[] theAnimals; public Animal this[int i] { get {return theAnimals[i];} set {theAnimals[i] = value;} } } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 10 Ngăn xếp (Stack)  Ngăn xếp: tập hợp đối tượng hoạt động theo chế LIFO Ví dụ: chế giải thuật đệ quy Pop Push Top Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 31 Ngăn xếp (Stack) Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 32 Ngăn xếp (Stack) Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 33 Ngăn xếp (Stack)   Phương thức  Clear(): Xóa ngăn xếp  Pop(): Xóa trả phần tử  Push(): Thêm phần tử vào ngăn xếp  Peek(): Trả phần tử khơng xóa Thuộc tính  Count: Số phần tử ngăn xếp Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 34 Ngăn xếp public class Test { public static void main() { Stack intStack = new Stack(); for(int i = 0; i < 8; i++) intStack.Push(i*5); Console.Write(“intStack values: \t”); PrintValues(intStack); intStack.Pop(); intStack.Pop(); Console.Write(“intStack values: \t”); PrintValues(intStack); intStack.Peek(); Console.Write(“intStack values: \t”); PrintValues(intStack); } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 35 Ngăn xếp public static void PrintValue(IEnumerable mc) { Ienumerator myEnumerator = mc.GetEnumerator(); while(myEnumerator.MoveNext()) Console.Write(“{0}\t”, myEnumerator.Current); Console.WriteLine(); } } //end Test Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 36 Bài tập Thực   Sử dụng ngăn xếp để thực đổi số hệ thập phân sang hệ n (n=2, 4, 6, 8, 16 ) Nhập dãy số nguyên, in dãy theo thứ tự đảo ngược 30 Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 37 Giao diện tập hợp  NET cung cấp giao diện chuẩn cho việc liệt kê, so sánh, tạo tập hợp Giao diện IEnumerable IComparer Mục đích Liệt kê thông qua tập hợp cách sử dụng foreach So sánh hai đối tượng lưu giữ tập hợp để xếp đối tượng tập hợp Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 38 IEnumerable  Dùng liệt kê đối tượng thông qua câu lệnh foreach  Phương thức GetEnumerator(): trả thực thi IEnumerator cho phép liệt kê phần tử tập hợp  Phương thức MoveNext(): tăng index tập hợp lên kiểm tra mục có vượt số phần tử tập hợp  Thuộc tính Current: liệu vị trí hành tập hợp Khoa Cơng nghệ Thơng tin - Đại học Ngân hàng TP.HCM 39 IEnumerable public static void PrintValue(IEnumerable mc) { IEnumerator myEnum = mc.GetEnumerator(); while(myEnum.MoveNext()) Console.Write(“{0}\t”, myEnum.Current); Console.WriteLine(); } } //end Test Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 40 IComparer  Cung cấp phương thức thực việc so sánh xếp tập hợp Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 41 IComparer static void Main(string[] args) { string[] myArray = {"Dog","Elephant","Cat","Pig", "Bear"}; PrintArray(myArray); Array.Sort(myArray); PrintArray(myArray); Console.ReadLine(); } public static void PrintArray(params string [] list) { for (int i = 0; i < list.Length; i++) Console.WriteLine(" [{0}] : {1}",i,list[i]); Console.WriteLine(); } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 42 IComparerable public class Employee: IComparable { private int empID; public Employee(int empID) { this.empID = empID;} public int EmpID { get { return empID;} set { empID = value;} } public override string ToString() { return empID.ToString();} public int CompareTo(object o) { Employee r = (Employee) o; return this.empID.CompareTo(r.empID); } } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 43 IComparerable public class Tester { static void Main() { ArrayList empArray = new ArrayList(); Random r = new Random(); // đưa vào mảng for( int i = 0; i < 5; i++) { empArray.Add( new Employee(r.Next(10)+100)); } // in tất nội dung PrintValue(empArray); // xếp lại mảng Employee empArray.Sort(); // hiển thị tất nội dung mảng Employee PrintValue(empArray); } } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 44 Q&A Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 45 ... //end Test Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 36 Bài tập Thực   Sử dụng ngăn xếp để thực đổi số hệ thập phân sang hệ n (n=2, 4, 6, 8, 16 ) Nhập dãy số nguyên, in dãy theo thứ... animal[2]; Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Câu lệnh foreach  Dùng câu lệnh foreach để lặp lại việc truy xuất phần tử mảng int[] numbers = {4,5 ,6, 1,2,3 ,-2 ,-1 ,0}; int Tong = 0; foreach... hiển thị Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Danh sách  Tổ chức lưu trữ danh sách nhớ  Mảng - Danh sách đặc  Danh sách liên kết – Danh sách động Khoa Công nghệ Thông tin - Đại

Ngày đăng: 10/05/2021, 14:15

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN