intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình phân tích cấu tạo bo mạch mảng một chiều các giá trị bên trong dấu ngoặc p8

Chia sẻ: Gsag Gsdgdf | Ngày: | Loại File: PDF | Số trang:5

58
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giáo trình phân tích cấu tạo bo mạch mảng một chiều các giá trị bên trong dấu ngoặc p8', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Giáo trình phân tích cấu tạo bo mạch mảng một chiều các giá trị bên trong dấu ngoặc p8

  1. . Ngôn Ngữ Lập Trình C# // phương thức tĩnh để nhận đối tượng Comparer public static EmployeeComparer GetComparer() { return new Employee.EmployeeComparer(); } public int CompareTo(Object rhs) { Employee r = (Employee) rhs; return this.empID.CompareTo(r.empID); } // thực thi đặc biệt được gọi bởi custom comparer public int CompareTo(Employee rhs, Employee.EmployeeComparer.ComparisionType which) { switch (which) { case Employee.EmployeeComparer.ComparisionType.EmpID: return this.empID.CompareTo( rhs.empID); case Employee.EmployeeComparer.ComparisionType.Yrs: return this.yearsOfSvc.CompareTo( rhs.yearsOfSvc); } return 0; } // lớp bên trong thực thi IComparer public class EmployeeComparer : IComparer { // định nghĩa kiểu liệt kê public enum ComparisionType { EmpID, Yrs }; // yêu cầu những đối tượng Employee tự so sánh với nhau public int Compare( object lhs, object rhs) { Employee l = (Employee) lhs; Employee r = (Employee) rhs; return l.CompareTo(r, WhichComparision); 258 . Mảng, Chỉ Mục, và Tập Hợp
  2. Ngôn Ngữ Lập Trình C# . } public Employee.EmployeeComparer.ComparisionType WhichComparision { get { return whichComparision; } set { whichComparision = value; } } private Employee.EmployeeComparer.ComparisionType whichComparision; } private int empID; private int yearsOfSvc = 1; } public class Teser { 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, r.Next(20))); } // hiển thị tất cả nội dung của mảng Employee for(int i=0; i < empArray.Count; i++) { Console.Write(“\n{0} ”, empArray[i].ToString()); } Console.WriteLine(“\n”); // sắp xếp và hiển thị mảng Employee.EmployeeComparer c = Employee.GetComparer(); c.WhichComparision = Employee.EmployeeComparer.ComparisionType.EmpID; 259 . Mảng, Chỉ Mục, và Tập Hợp
  3. . Ngôn Ngữ Lập Trình C# empArray.Sort(c); // hiển thị nội dung của mảng for(int i=0; i < empArray.Count; i++) { Console.Write(“\n{0} ”, empArray[i].ToString()); } Console.WriteLine(“\n”); c.WhichComparision = Employee.EmployeeComparer.ComparisionType.Yrs; empArray.Sort(c); // hiển thị nội dung của mảng for(int i=0; i < empArray.Count; i++) { Console.Write(“\n{0} ”, empArray[i].ToString()); } Console.WriteLine(“\n”); } } } -----------------------------------------------------------------------------  Kết quả: ID: 100. Years of Svc: 16 ID: 102. Years of Svc: 8 ID: 107. Years of Svc: 17 ID: 105. Years of Svc: 0 ID: 101. Years of Svc: 3 ID: 100. Years of Svc: 16 ID: 101. Years of Svc: 3 ID: 102. Years of Svc: 8 ID: 105. Years of Svc: 0 ID: 107. Years of Svc: 17 ID: 105. Years of Svc: 0 ID: 101. Years of Svc: 3 ID: 102. Years of Svc: 8 ID: 100. Years of Svc: 16 ID: 107. Years of Svc: 17 ----------------------------------------------------------------------------- 260 . Mảng, Chỉ Mục, và Tập Hợp
  4. . Ngôn Ngữ Lập Trình C# Khối đầu tiên hiển thị kết quả thứ tự vừa nhập vào. Trong đó giá trị của empID, và yearsOfSvc được phát sinh ngẫu nhiên. Khối thứ hai hiển thị kết quả sau khi sắp theo empID, và khối cuối cùng thể hiện kết quả được xếp theo năm phục vụ. Hàng đợi (Queue) Hàng đợi là một tập hợp trong đó có thứ tự vào trước và ra trước (FIFO). Tương tự như là những người mua vé tàu, họ xếp thành một hàng, người nào vào trước thì sẽ mua trước và ra trước. 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 hàng đợi thông điệp để xử lý các thông điệp theo thứ tự đưa vào. Lớp Queue thể hiện kiểu dữ liệu như trên, trong bảng 9.4 sau liệt kê những phương thức và thuộc tính thành viên. Phương thức- thuộc tính Mục đích Phương thức static trả về một Queue wrapper được Synchronized() thread-safe. Thuộc tính trả về số thành phần trong hàng đợi Count Thuộc tính xác định hàng đợi là chỉ đọc IsReadOnly Thuộc tính xác định hàng đợi được đồng bộ IsSynchronized Thuộc tính trả về đối tượng có thể được sử dụng để SyncRoot đồng bộ truy cập Queue. Xóa tất cả các thành phần trong hàng đợi Clear() Tạo ra một bản sao Clone() Xác định xem một thành phần có trong mảng. Contains() Sao chép những thành phần của hàng đợi đến mảng CopyTo() một chiều đã tồn tại Xóa và trả về thành phần bắt đầu của hàng đợi. Dequeue() Thêm một thành phần vào hàng đợi. Enqueue() Trả về một enumerator cho hàng đợi. GetEnumerator() Trả về phần tử đầu tiên của hàng đợi và không xóa nó. Peek() Sao chép những thành phần qua một mảng mới ToArray() Bảng 9.4: Những phương thức và thuộc tính của Queue. Chúng ta có thể thêm những thành phần vào trong hàng đợi với phương thức Enqueue và sau đó lấy chúng ra khỏi hàng đợi với Dequeue hay bằng sử dụng enumerator. Ví dụ 9.15 minh họa việc sử dụng hàng đợi.  Ví dụ 9.15: Làm việc với hàng đợi. ----------------------------------------------------------------------------- 261 . Mảng, Chỉ Mục, và Tập Hợp
  5. Ngôn Ngữ Lập Trình C# . namespace Programming_CSharp { using System; using System.Collections; public class Tester { public static void Main() { Queue intQueue = new Queue(); // đưa vào trong mảng for(int i=0; i
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
9=>0