Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Cách sắp xếp một List<T> trong C# như thế nào?

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    53

    Mặc định Cách sắp xếp một List<T> trong C# như thế nào?

    Giả sử mình khai báo như sau:
    PHP Code:
    List<int[,]> A= new List<int[,]>(); 
    giả sử tiếp là A có 5 phần tử, mỗi phần từ là 1 mảng 2 chiều như khai báo. Bây giờ mình muốn sắp xếp lại A thì trong vòng lặp mình có được phép gán A[i]= A[j] hay không? Vì mình nghĩ A[i] là một mảng 2 chiều nên ko gán như vậy được. Mong các bạn giúp đỡ nhé

  2. #2
    Ngày gia nhập
    06 2010
    Nơi ở
    Hà Nội
    Bài viết
    48

    Bạn đọc qua ví dụ này nhé:
    PHP Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Collections;
    namespace 
    Compare_2_
    {
        public class 
    SINHVIEN IComparable
        
    {
            private 
    string MSV;

            public 
    string MASINHVIEN
            
    {
                
    get { return MSV; }
                
    set MSV value; }
            }
            private 
    string HT;

            public 
    string HOTEN
            
    {
                
    get { return HT; }
                
    set HT value; }
            }
            private 
    double DTB;
            public 
    double DIEMTRUNGBINH
            
    {
                
    get { return DTB; }
                
    set DTB value; }
            }
            public 
    SINHVIEN(){}
            public 
    SINHVIEN(string CODEstring NAME1double DIEM)
            {
                
    this.MASINHVIEN CODE;
                
    this.HOTEN NAME1;
                
    this.DIEMTRUNGBINH DIEM;
            }
            public 
    override string ToString()
            {
                return 
    "MaSV: " MASINHVIEN.PadRight(5' ') + "HoTenSV: " HOTEN "DtbSV: " DIEMTRUNGBINH.ToString();
            }
            public 
    int CompareTo(object Student)
            {
                
    SINHVIEN sv Student as SINHVIEN;
                if (
    string.Compare(this.HOTENsv.HOTENtrue) == 1)
                    return 
    1;
                if (
    string.Compare(this.HOTENsv.HOTENtrue) == 0)
                    return 
    0;
                return -
    1;
            }
        }
        class 
    Program
        
    {
            static 
    void Main(string[] args)
            {

                List<
    SINHVIENSORT = new List<SINHVIEN>();
                
    SORT.Add(new SINHVIEN("234     ""Nguyen Thanh Luan    "7.81));
                
    SORT.Add(new SINHVIEN("454     ""Nguyen Van Ngoc      "7.05));
                
    SORT.Add(new SINHVIEN("435     ""Nguyen Bao Tuan      "7.66));
                
    SORT.Add(new SINHVIEN("335     ""Pham Lam Duy         "7.14));

                
    Console.WriteLine("Truoc Khi Sap Xep:");
                
    Console.WriteLine("=================");
                for (
    int i 0SORT.Counti++)
                {
                    
    Console.WriteLine(SORT[i].ToString());
                }
                
    Console.WriteLine("Sau Khi Sap Xep");
                
    Console.WriteLine("===============");
                
    SORT.Sort();
                for (
    int i 0SORT.Counti++)
                {
                    
    Console.WriteLine(SORT[i].ToString());
                }
                
    Console.ReadLine();
            }
        }


  3. #3
    Ngày gia nhập
    05 2009
    Nơi ở
    da nang
    Bài viết
    61

    đừng có tạo SORT làm gì, nó có sẵn rồi, cứ gọi ra thôi,

  4. #4
    Ngày gia nhập
    09 2010
    Nơi ở
    Ú Sì Sung
    Bài viết
    149

    Trích dẫn Nguyên bản được gửi bởi luannguyenit Xem bài viết
    Bạn đọc qua ví dụ này nhé:
    PHP Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Collections;
    namespace 
    Compare_2_
    {
        public class 
    SINHVIEN IComparable
        
    {
            private 
    string MSV;

            public 
    string MASINHVIEN
            
    {
                
    get { return MSV; }
                
    set MSV value; }
            }
            private 
    string HT;

            public 
    string HOTEN
            
    {
                
    get { return HT; }
                
    set HT value; }
            }
            private 
    double DTB;
            public 
    double DIEMTRUNGBINH
            
    {
                
    get { return DTB; }
                
    set DTB value; }
            }
            public 
    SINHVIEN(){}
            public 
    SINHVIEN(string CODEstring NAME1double DIEM)
            {
                
    this.MASINHVIEN CODE;
                
    this.HOTEN NAME1;
                
    this.DIEMTRUNGBINH DIEM;
            }
            public 
    override string ToString()
            {
                return 
    "MaSV: " MASINHVIEN.PadRight(5' ') + "HoTenSV: " HOTEN "DtbSV: " DIEMTRUNGBINH.ToString();
            }
            public 
    int CompareTo(object Student)
            {
                
    SINHVIEN sv Student as SINHVIEN;
                if (
    string.Compare(this.HOTENsv.HOTENtrue) == 1)
                    return 
    1;
                if (
    string.Compare(this.HOTENsv.HOTENtrue) == 0)
                    return 
    0;
                return -
    1;
            }
        }
        class 
    Program
        
    {
            static 
    void Main(string[] args)
            {

                List<
    SINHVIENSORT = new List<SINHVIEN>();
                
    SORT.Add(new SINHVIEN("234     ""Nguyen Thanh Luan    "7.81));
                
    SORT.Add(new SINHVIEN("454     ""Nguyen Van Ngoc      "7.05));
                
    SORT.Add(new SINHVIEN("435     ""Nguyen Bao Tuan      "7.66));
                
    SORT.Add(new SINHVIEN("335     ""Pham Lam Duy         "7.14));

                
    Console.WriteLine("Truoc Khi Sap Xep:");
                
    Console.WriteLine("=================");
                for (
    int i 0SORT.Counti++)
                {
                    
    Console.WriteLine(SORT[i].ToString());
                }
                
    Console.WriteLine("Sau Khi Sap Xep");
                
    Console.WriteLine("===============");
                
    SORT.Sort();
                for (
    int i 0SORT.Counti++)
                {
                    
    Console.WriteLine(SORT[i].ToString());
                }
                
    Console.ReadLine();
            }
        }

    Bạn cho mình ví dụ sắp xếp lại theo họ tên sinh viên ai dài nhất cho lên đầu được không

  5. #5
    Ngày gia nhập
    04 2008
    Bài viết
    35

    Bạn cho mình ví dụ sắp xếp lại theo họ tên sinh viên ai dài nhất cho lên đầu được không
    ví dụ = actionscript

    Code:
    var arr:Array = new Array();
    arr.push("asdas");
    arr.push("asdasdasdas");
    arr.push("asd");
    arr.push("asdsad");
    for(var i:int =0;i<arr.length;i++){
    	for(var j:int =i;j<arr.length;j++){
    		if(arr[i].length<arr[j].length){
    			var temp:String = arr[i];
    			arr[i] = arr[j];
    			arr[j] = temp;
    		}
    	}	
    }
    thử in ra:

    Code:
    for(var k:int =0;k<arr.length;k++){
    	trace(arr[k])
    }
    kết quả:

    asdasdasdas
    asdsad
    asdas
    asd
    Đã được chỉnh sửa lần cuối bởi langtu072 : 27-12-2010 lúc 05:06 PM.

  6. #6
    Ngày gia nhập
    10 2009
    Bài viết
    45

    Mặc định sắp xếp list theo 2 trường

    mình có 1 cái list thế này
    int ID
    string LastName
    string Fisrtname
    int avg

    bây h mình muốn đưa ra 1 danh sách sắp xếp theo điểm
    nếu điểm bằng nhau thì sắp xếp theo tên

    theo 2 trường mình k biế làm thế nào cả

    thank bạn

Các đề tài tương tự

  1. Con trỏ trên C Thắc mắc về phép so sánh trong list
    Gửi bởi taphoc_c trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 10-05-2013, 04:28 PM
  2. Thao tác xử lý với tệp và ds List trong c#
    Gửi bởi hoangtk401 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 05-11-2011, 11:16 PM
  3. Phương thức Add trong list có phải là thêm đối tượng vào list không?
    Gửi bởi princehai trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 20-09-2011, 01:14 PM
  4. hàm hủy(list::~list()) trong danh sách móc nối đối tượng xử lý những gì?
    Gửi bởi Emerald214 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 29-12-2010, 09:05 AM
  5. Đệ Quy sử dụng trong Linked-List như thế nào?
    Gửi bởi qhai_2009 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 13-11-2010, 04:37 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn