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ý.
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ô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 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ô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á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