Advertisement
Timtsa

Source.cpp

Dec 7th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.03 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm> //fill, copy
  3. #include "Node.h"
  4. using namespace std;
  5.  
  6.  
  7.  
  8. void printList(Node * pHead);
  9. void addListHead(const DataType &data, Node*& pHead);
  10. void addlist(const DataType &data, Node* pCurrent);
  11. Node* findInList(const DataType& data, Node* start);
  12. void delListHead(Node*& pHead);
  13. void delListNode(Node* pRrew);
  14. int main()
  15. {  
  16.    
  17.     Node * pHead = new Node(1);
  18.     pHead->setpNext(new Node(3));
  19.     printList(pHead);
  20.    
  21.     addListHead(0, pHead);
  22.     //printList(pHead);
  23.     Node* pCurrent = pHead->detpNext();
  24.     addlist(2, pCurrent);
  25.     printList(pHead);
  26. //  addlist(5, pCurrent);
  27.     //printList(pHead);
  28.     cout << findInList(3, pHead)<<endl;
  29.     cout << findInList(8, pHead) << endl;
  30.     addlist(4, findInList(3, pHead));
  31.     printList(pHead);
  32.     delListHead(pHead);
  33.     printList(pHead);
  34.     delListNode(findInList(2, pHead));
  35.     printList(pHead);
  36.     /*Node k1; 
  37.     cout << "getData() = " << k1.getData() << endl;
  38.     cout << "getpNext() = " << k1.detpNext() << endl;
  39.     cout << "Enter data: ";
  40.     DataType value;
  41.     cin >> value;
  42.     k1.setData(value);
  43.     cout << "New getData() for K1 = " << k1.getData() << endl;*/
  44.  
  45.     system("pause");
  46.     return 0;
  47. }
  48. void printList(Node * pHead)
  49. {
  50.     for (Node*pCurrent = pHead; pCurrent != nullptr; pCurrent = pCurrent->detpNext())
  51.     {
  52.         cout << pCurrent->getData() << endl;
  53.     }
  54. }
  55. void addListHead( const DataType &data, Node*& pHead)
  56. {
  57.     Node* pNew = new Node;
  58.     pNew->setData(data);
  59.     pNew->setpNext(pHead);
  60.     pHead = pNew;
  61. }
  62. void addlist(const DataType & data, Node* pCurrent)
  63. {
  64.     Node * pNew = new Node(data, pCurrent->detpNext());
  65.     pCurrent->setpNext(pNew);
  66. }
  67.  
  68. Node* findInList(const DataType& data, Node* start)
  69. {
  70.     for (Node* pCurrent = start; pCurrent != nullptr;pCurrent=pCurrent->detpNext())
  71.  
  72.     {
  73.         if (pCurrent->getData() == data)
  74.             return pCurrent;
  75.     }
  76.     return nullptr;
  77. }
  78. void delListHead(Node*& pHead)
  79. {
  80.     Node*pDel = pHead;
  81.     pHead = pHead->detpNext();
  82.     delete pDel;
  83. }
  84.  
  85. void delListNode(Node* pRrew)
  86. {
  87.     Node*pDel = pRrew->detpNext();
  88.     pRrew->setpNext(pDel->detpNext());
  89.     delete pDel;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement