Advertisement
hurmawe

lab4 alg

Nov 18th, 2022
528
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Node {
  6.     char word[40];
  7.    
  8.     Node* Next;
  9. }; typedef Node* PNode;
  10.  
  11.  
  12. PNode CreateNode(char NewWord[])
  13. {
  14.     PNode NewNode = new Node;
  15.     strcpy(NewNode->word, NewWord);
  16.     NewNode->Next = NULL;
  17.     return NewNode;
  18. }
  19.  
  20. void AddFirst(PNode& Head, PNode NewNode)
  21. {
  22.     NewNode->Next = Head;
  23.     Head = NewNode;
  24.    
  25. }
  26.  
  27. void AddAfter(PNode p, PNode NewNode)
  28. {
  29.     NewNode->Next = p->Next;
  30.     p->Next = NewNode;
  31.    
  32. }
  33.  
  34. void AddLast(PNode& Head, PNode NewNode)
  35. {
  36.     PNode q = Head;
  37.     if (Head == NULL) {
  38.         AddFirst(Head, NewNode);
  39.         return;
  40.     }
  41.     while (q->Next) q = q->Next;
  42.     AddAfter(q, NewNode);
  43. }
  44.  
  45. void AddBefore(PNode& Head, PNode p, PNode NewNode)
  46. {
  47.     PNode q = Head;
  48.     if (Head == p) {
  49.         AddFirst(Head, NewNode);
  50.         return;
  51.     }
  52.     while (q && q->Next != p) q = q->Next;
  53.     if (q) AddAfter(q, NewNode);
  54. }
  55.  
  56. PNode Find(PNode Head, char NewWord[])
  57. {
  58.     PNode q = Head;
  59.     while (q && strcmp(q->word, NewWord))
  60.         q = q->Next;
  61.     return q;
  62. }
  63.  
  64. int main()
  65. {
  66.     PNode Head = NULL;
  67.  
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement