Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 3 trên tổng số 4 Đầu tiênĐầu tiên 1234 Cuối cùngCuối cùng
Từ 21 tới 30 trên tổng số 36 kết quả

Đề tài: Danh sách liên kết đơn - Lý thuyết cơ bản và cách triển khai

  1. #21
    Ngày gia nhập
    12 2012
    Nơi ở
    TIN5A - UNETI
    Bài viết
    167

    Mặc định Danh sách liên kết đơn - Lý thuyết cơ bản và cách triển khai

    C Code:
    1. #include<stdio.h>
    2. #include<stdlib.h>
    3. #include<malloc.h>
    4. #include<time.h>
    5.  
    6. struct Node
    7. {
    8.     long i,data;
    9.     Node * pNext;
    10. };
    11. //tao node
    12. Node *TaoNut(long x){
    13.     Node *p = (Node*)malloc(sizeof(Node));
    14.     srand(time(NULL));
    15.     p->data = rand();
    16.     return p;
    17. }
    18. int main()
    19. {
    20.    
    21.     Node *p,*pLast;
    22.     pLast = NULL;
    23.     Node *pHead = NULL;
    24.     int k = 0;
    25.     srand(time(NULL));
    26.      for((p->i)=0;(p->i)<1000000;(p->i)++)
    27.      {
    28.         p = TaoNut(rand());
    29.         if(pHead==NULL)
    30.         {
    31.             pHead = p;
    32.             p->pNext = pLast;
    33.         }
    34.         else
    35.         {
    36.             pLast = p;
    37.             pLast->pNext = NULL;
    38.         }
    39.     }
    40.    
    41.     // tim vi tri cac phan tu lon nhat
    42.     Node *pMax=pHead;
    43.     p=pMax->pNext;
    44.     while(p!=NULL)
    45.     {
    46.         if(p->data > pMax->data)
    47.         pMax=p;
    48.         p=p->pNext;
    49.     }
    50.     printf("\n Vi tri phan tu co gia tri lon nhat bang %d la: ",pMax->data);
    51.    
    52.     system("pause");
    53.     return 0;
    54. }
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #22
    Ngày gia nhập
    03 2013
    Nơi ở
    Hà Nội
    Bài viết
    3

    ANHMATTROI ơi bài của bạn có khác gì bài của mình không mà cũng không chạy được :(

  3. #23
    Ngày gia nhập
    12 2012
    Nơi ở
    TIN5A - UNETI
    Bài viết
    167

    chạy được mà bạn chỉ là chạy kết quả không đúng thôi
    Attached Thumbnails Attached Thumbnails Ảnh chụp màn hình_2013-03-14_233456.png  

  4. #24
    Ngày gia nhập
    03 2013
    Nơi ở
    Hà Nội
    Bài viết
    3

    Hix. Mình cop nguyên code của bạn về mà k chạy đc. thử cải Turbo C lẫn DEV C++ đều k được :( Dù sao cũng cảm ơn bạn nhé. Để mình xem lại xem

  5. #25
    Ngày gia nhập
    04 2013
    Bài viết
    3

    Mặc định hỏi về xóa 1 phần tử trong danh sách liên kết

    typedef struct phuthuocham
    {
    char left[50];
    char right[50];
    struct phuthuocham *tiep;
    }FD;
    FD *findanddel(FD *f,char *str)
    {
    FD *p,*before;
    p=f;
    while((p) &&(strcmp(str,p->left)!=0))
    {before=p;
    p=p->tiep;
    }
    if((p)&&(strcmp(str,p->left)==0))
    {
    if(p==f)
    f=p->tiep;
    else before->tiep=p->tiep;
    free(p);
    }
    return f;
    }
    hàm trên xóa 1 phụ thuộc hàm thõa đk vế trái =str.không báo lỗi nhưng không xóa đc.Mong mọi người giúp đỡ.

  6. #26
    Ngày gia nhập
    12 2012
    Nơi ở
    TIN5A - UNETI
    Bài viết
    167

    Mặc định Danh sách liên kết đơn - Lý thuyết cơ bản và cách triển khai

    chỗ if((p)&&(strcmp(str,p->left)==0))
    ban viết thêm trường hợp: danh sách rỗng, có một nút, nếu nút đó ở đầu

  7. #27
    Ngày gia nhập
    04 2013
    Bài viết
    3

    Cảm ơn bạn nhưng mình thắc mắc là nếu như mình nhập dữ liệu vào,dữ liệu thõa điều kiện ko ở vị trí đầu tiên, danh sách có nhiều hơn 1 phần tử mà nó vẫn không xóa được phần tủ đó.^_^

  8. #28
    Ngày gia nhập
    12 2012
    Nơi ở
    TIN5A - UNETI
    Bài viết
    167

    ở chỗ này nè: if((p)&&(strcmp(str,p->left)==0))

  9. #29
    Ngày gia nhập
    04 2013
    Bài viết
    3

    Hi.sao sai bạn:
    if(p &&(strcmp(str,p-> left)==0) là nếu p!=null và vt=str mà

  10. #30
    Ngày gia nhập
    12 2012
    Nơi ở
    TIN5A - UNETI
    Bài viết
    167

    PHP Code:
    typedef struct phuthuocham
    {
        
    char left[50];
        
    char right[50];
        
    struct phuthuocham *tiep;
    }
    FD;
    FD *findanddel(FD *f,char *str)
    {
        if(
    f==NULL) return NULL;
        else
        {
            
    //neu chi co mot nut
            
    if(f->tiep==NULL)
            {
                if(
    strcmp(f->left,str)==0)
                {
                    
    FD *p;
                    
    f;
                    
    NULL;
                    
    free(p);
                    return 
    f;
                }
                else return 
    f;
            }
            
    //co tu hai nut tro len
            
    else
            {
                
    //neu nut can xoa nam o dau
                
    if(strcmp(f->left,str)==0)
                {
                    
    FD *p;
                    
    f;
                    
    f->tiep;
                    
    free(p);
                    return 
    f;
                }
                
    //o vi tri con lai
                
    else
                {
                    
    FD *before,*p;
                    
    f;
                    while(
    p!=NULL&&strcmp(p->left,str)!=0)
                    {
                        
    before p;
                        
    p->tiep;
                    }
                    if(
    p==NULL)    
                    {
                        
    //neu o nut cuoi
                        
    if(strcmp(before->left,str)==0)
                        {
                            
    f;
                            while(
    p->tiep!=beforep->next;
                            
    free(before);
                            
    p->tiep NULL;
                            return 
    f;
                        }
                        else return 
    f;
                    }
                    else
                    {
                        
    FD *m;//nut m nam sau nut p
                        
    p->tiep;
                        
    free(p);
                        
    before->tiep m;
                        return 
    f;
                    }
                }
            }
        }

    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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

  1. cách sử dụng danh sách liên kết khai báo cây nhị phân trong C++
    Gửi bởi huunhan577 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 21-03-2013, 09:43 AM
  2. Con trỏ trên C Các cách khai báo con trỏ trong danh sách liên kết đơn?
    Gửi bởi vandt trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 11-09-2012, 09:39 AM
  3. Định nghĩa kiểu dữ liệu khi khai báo cấu trúc danh sách liên kết đơn
    Gửi bởi nguyenquanghung trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 13
    Bài viết cuối: 13-05-2011, 12:39 AM
  4. Nhập và xuất danh sách liên kết lồng danh sách liên kết?
    Gửi bởi nvluong_it trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 22-04-2011, 11:30 AM
  5. khai báo danh sách liên kết đơn
    Gửi bởi HaNguyen trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 19-10-2010, 05:14 PM

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