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

Đề tài: [ Solved ] Cấu trúc dữ liệu và giải thuật-Link List

  1. #1
    Ngày gia nhập
    09 2008
    Nơi ở
    TP HCM
    Bài viết
    7

    Mặc định [ Solved ] Cấu trúc dữ liệu và giải thuật-Link List

    giúp mình sửa sai câu này với

    C++ Code:
    1. #include<iomanip.h>
    2. template<class T>
    3. struct Node
    4. {
    5.     T data;
    6.     Node<T> *Next;
    7. };//Node daclaration
    8.  
    9. template<class T>
    10. class LinkList
    11. {
    12. public:
    13.     LinkList()
    14.     {
    15.         this->head = NULL;
    16.         this->count = 0;
    17.     };
    18.     ~LinkList();
    19.    
    20.     int InsertNode(Node<T> *pPre,T value);
    21.     int DeleteNode(Node<T> *pPre,Node<T> *pLoc);
    22. protected:
    23.     Node<T> *head;
    24.     Node<T> *pos;
    25.     int count;
    26. }
    27. ;
    28.  
    29. #ifndef _List1_CPP_
    30. #define _List1_CPP_
    31.  
    32. #include<conio.h>
    33. #include"List1.h"
    34.  
    35. template <class T>
    36. int LinkList<T>::InsertNode(Node<T> *pPre,T value)
    37. {
    38.     Node<T> *pNew = new Node<T>();
    39.     if(pNew == NULL)
    40.         return -1;
    41.     pNew->data = value;
    42.     if(pPre == NULL)
    43.     {
    44.         pNew->Next = this->head;
    45.         this->head = pNew;
    46.     }
    47.     else
    48.     {
    49.         pPre->Next = pNew->Next;
    50.         pPre->Next = pNew;
    51.     }
    52.     this->count++;
    53.     return 1;
    54. }
    55.  
    56. template <class T>
    57. int LinkList<T>::DeleteNode(Node<T>* pPre, Node<T> *pLoc)
    58. {
    59.     T dataOut = pLoc->data;
    60.     if(pPre ==NULL)
    61.         this->head = pLoc->Next;
    62.     else
    63.         pPre->Next = pLoc->Next;
    64.     this->count--;
    65.     delete pLoc;
    66.     return dataOut;
    67. }
    68. #endif 
    69.  
    70.  
    71. #include<iostream.h>
    72. #include"List1.cpp"
    73. void main()
    74. {
    75. //  int *link;
    76. /*  LinkList<int> *L1 = new LinkList<int>();
    77.     int n;
    78.     cout<<" Nhap vao danh sach :";
    79.     cin>>n;
    80.    
    81.     L1->InsertNode(1,12);
    82.     L1->InsertNode(2,23);
    83. /   */
    84.  
    85.     LinkList<int> L1;
    86. /*
    87.     int n;
    88.     int c;
    89.     cout<<"nhap bao nhieu so vao List1: ";
    90.     cin>>n;
    91.     for(int i =0;i<n;i++)
    92.     {
    93.         cin>>c;
    94. //      L1.InsertNode(i,c);
    95.     }*/
    96. //  Linked_List<char> S2 =S1;
    97.  
    98. /*
    99.     for(i=0;i<n;i++)
    100.     {
    101.         S2.retrieve(i,c);
    102.         cout<<c<<endl;
    103.     }
    104.     */
    105. }
    nó thông báo lỗi:

    List1.cpp
    main.cpp
    Linking...
    main.obj : error LNK2001: unresolved external symbol "public: __thiscall LinkList<int>::~LinkList<int>(void)" (??1?$LinkList@H@@QAE@XZ)
    Debug/Linklist.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    Linklist.exe - 2 error(s), 0 warning(s)

    Chú ý bỏ code vào thẻ code nhé cậu !
    Đã được chỉnh sửa lần cuối bởi rox_rook : 22-09-2008 lúc 12:36 PM.

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

    Đối với template trong C++ cậu không được tách .h và .cpp kiểu như trên.
    - Hoặc là để .h và .cpp cùng 1 file
    - Hoặc là #include "LinkList.cpp" tận cùng của "LinkList.h"
    - Code thì còn chưa tới đâu, destructor cũng chưa viết xong, suy nghĩ viết tiếp đi.
    - Tui chỉnh cho nó chạy đây, nhưng không có nghĩa là đúng đâu nhá
    C++ Code:
    1. #include <iomanip>
    2. #include <iostream>
    3. template< class T >
    4. struct Node
    5. {
    6.     T data;
    7.     Node<T>* Next;
    8. };//Node daclaration
    9.  
    10.  
    11. template<class T>
    12. class LinkList
    13. {
    14. public:
    15.     LinkList()
    16.     {
    17.         this->head = NULL;
    18.         this->count = 0;
    19.     }
    20.     ~LinkList()
    21.     {
    22.     }
    23.  
    24.     int InsertNode(Node<T> *pPre,T value);
    25.     int DeleteNode(Node<T> *pPre,Node<T> *pLoc);
    26. protected:
    27.     Node<T>* head;
    28.     Node<T>* pos;
    29.     int count;
    30. };
    31.  
    32.  
    33. template <class T>
    34. int LinkList<T>::InsertNode(Node<T> *pPre,T value)
    35. {
    36.     Node<T> *pNew = new Node<T>();
    37.     if (pNew == NULL)
    38.         return -1;
    39.     pNew->data = value;
    40.     if (pPre == NULL)
    41.     {
    42.         pNew->Next = this->head;
    43.         this->head = pNew;
    44.     }
    45.     else
    46.     {
    47.         pPre->Next = pNew->Next;
    48.         pPre->Next = pNew;
    49.     }
    50.     this->count++;
    51.     return 1;
    52. }
    53.  
    54. template <class T>
    55. int LinkList<T>::DeleteNode(Node<T>* pPre, Node<T> *pLoc)
    56. {
    57.     T dataOut = pLoc->data;
    58.     if (pPre ==NULL)
    59.         this->head = pLoc->Next;
    60.     else
    61.         pPre->Next = pLoc->Next;
    62.     this->count--;
    63.     delete pLoc;
    64.     return dataOut;
    65. }
    66.  
    67. int main()
    68. {
    69.     LinkList<int> L1;
    70. }

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

  1. Các thuật toán sắp xếp trong lập trình C | Cấu trúc dữ liệu và giải thuật
    Gửi bởi iamvtn trong diễn đàn Thủ thuật, Tutorials CTDL & Giải thuật
    Trả lời: 8
    Bài viết cuối: 11-02-2017, 04:44 PM
  2. Thuật toán DLX (Dancing Link - Algorithm X) giải thích thế nào?
    Gửi bởi doicanhden trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 9
    Bài viết cuối: 31-05-2013, 10:11 PM
  3. Bài tập C Cần giải giúp 3 câu trong đề thi kĩ thuật lập trình C và Cấu trúc dữ liệu và giải thuật
    Gửi bởi nguyenthi0602 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 24-09-2012, 08:42 PM
  4. [C++] Cấu trúc dữ liệu với link list
    Gửi bởi rox_rook trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 14-06-2010, 01:50 PM
  5. Thế nào là cấu trúc dữ liệu, thuật giải, thuật toán...??
    Gửi bởi duanvcd trong diễn đàn Kinh nghiệm CNTT
    Trả lời: 3
    Bài viết cuối: 17-06-2007, 10:07 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