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

Đề tài: Về danh sách liên kết

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    46

    Mặc định Về danh sách liên kết

    Mình mới học về linked list nên còn rất gà về phần này, mình có bài tập thế này, ai giúp mình với. thanks( bằng C++ nhé, mình ko bít C, nếu được thì giải thích luôn nhé)

    Cho 1dslk như sau

    C++ Code:
    1. struct node
    2. {
    3.         int data;
    4.         node* next
    5. }

    Viết 1 hàm để insert phần tử vào đầu, cuối ; duyệt danh sách lk trên?

    nếu dslk là 1 class và có node* head thì mình làm được, còn dslk trên(chỉ có data và *next) thì chạy toàn bị lỗi
    Làm sao duyệt đuọc DSLK khi không có con trỏ head?


    post luôn, code insert vào cuối anh sách của mình, sai chỗ nào vây?

    C++ Code:
    1. int insert_cuoi(node* &LL,int value,int& count)                
    2. {                                                              
    3.     node *pNew=new node;                                          
    4.     if (pNew==NULL)                                                
    5.         return 0;                                                    
    6.     pNew->data=value;                                              
    7.     if (count==0)                                                  
    8.         LL->Next=NULL;                                                
    9.     if (LL->Next==NULL)                                            
    10.     {                                                              
    11.         LL->Next=pNew;                                                
    12.         pNew->Next=NULL;                                              
    13.     }                                                              
    14.     else                                                          
    15.     {                                                                
    16.         while (LL->Next!=NULL)                                        
    17.             LL=LL->Next;                                                
    18.         LL->Next=pNew;                                                
    19.         pNew->Next=NULL;                                              
    20.     }                                                              
    21.     count++;                                                      
    22.     return 1;                                                      
    23. }
    Đã được chỉnh sửa lần cuối bởi Red_Man : 27-09-2008 lúc 05:11 PM.

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Làm sao duyệt đuọc DSLK khi không có con trỏ head?
    Điều này là không thể !
    Ý nghĩa của danh sách liên kết là liên kết các pointer chứa dữ liệu với nhau. Cậu không đụng đến head thì làm sao kết nối nó được, ít nhất là phải biết được head đang trỏ tới đâu, hoặc là có 1 node tail giữ cái đuôi.

  3. #3
    Ngày gia nhập
    09 2008
    Bài viết
    46

    Trích dẫn Nguyên bản được gửi bởi rox_rook Xem bài viết
    Điều này là không thể !
    Ý nghĩa của danh sách liên kết là liên kết các pointer chứa dữ liệu với nhau. Cậu không đụng đến head thì làm sao kết nối nó được, ít nhất là phải biết được head đang trỏ tới đâu, hoặc là có 1 node tail giữ cái đuôi.
    Không duyệt được tức la ko print đuọc các phần tử của dslk luôn à , còn code trên thêm nut' vào phái sau danh sách có đúng ko? ko biét cách duyệt nên chả bít đúng hay sai hic
    Đã được chỉnh sửa lần cuối bởi Red_Man : 27-09-2008 lúc 05:48 PM.

  4. #4
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Cái cấu trúc như bạn thì không thể duyệt được khi mất con trỏ head để xử được trường hợp này có 2 loại dslk là dslk vòng, và dslk kép.(như của bạn là danh sách liên kết đơn).

    dslk kép: ứng với một node thì chúng ta sẽ giữ 2 liên kết đó là liên kết với trước và sau nó.

    dslk vòng: Mỗi node đều là node head., tail, nó không phân biệt giữa node head, tail và thường. cái này đơn giản là
    C Code:
    1. tail->pNext = pHead;
    Tức nó thằng cuối sẽ giữ địa chỉ của thằng đầu làm thành một vòng tròn.

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

  1. Hướng dẫn Biểu diễn thích hợp bằng danh sách liên kết đơn hoặc danh sách liên kết kép
    Gửi bởi maitrung trong diễn đàn Thủ thuật, Tutorials CTDL & Giải thuật
    Trả lời: 3
    Bài viết cuối: 04-08-2012, 08:01 PM
  2. Cấu trúc dữ liệu Cách tạo danh sách liên kết mới từ danh sách liên kết đã cho như thế nào?
    Gửi bởi giacmo1612 trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 2
    Bài viết cuối: 30-11-2011, 04:43 PM
  3. 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
  4. Lập trình C Danh sách liên kết - Xử lý danh sách liên kết trong lập trình C
    Gửi bởi phucduan 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: 08-11-2010, 10:25 PM
  5. Danh sách liên kết, code nhập danh sách sinh viên có lỗi làm sao sửa?
    Gửi bởi acmilan 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: 10-04-2009, 08:24 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