fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct node{
  5. string PartyName;
  6. int Votes;
  7. int TotalSeats;
  8. node *next;
  9. };
  10.  
  11. node *init(){
  12. node *n = new node();
  13. return n;
  14. }
  15. node *add(string name, int votes, int seats, node *prev = NULL){
  16. node *n = new node();
  17. n->PartyName = name;
  18. n->Votes = votes;
  19. n->TotalSeats = seats;
  20. n->next = NULL;
  21. if(prev != NULL){
  22. prev->next = n;
  23. }
  24. return n;
  25. }
  26.  
  27. void print(node *n){
  28. cout <<"Name: " << n -> PartyName << endl;
  29. cout <<"Vote Count: " << n -> Votes << endl;
  30. cout <<"Seat count: " << n -> TotalSeats << endl;
  31. cout << endl;
  32. }
  33.  
  34. void find(const string& name, node *n){
  35. if(n -> PartyName == name){
  36. print(n);
  37. return;
  38. }
  39. if(n -> next == NULL){
  40. return;
  41. }
  42. find(name, n -> next);
  43. }
  44.  
  45. node *removeElement(node *n){
  46. if(n -> next != NULL){
  47. removeElement(n -> next);
  48. }
  49. delete n;
  50. return NULL;
  51. }
  52.  
  53. int main(){
  54. node *head[3];
  55. head[0] = init();
  56. node *pPar2 = head[0];
  57. pPar2 = add("HLU", 292068, 50, pPar2);
  58. pPar2 = add("LM", 79742, 13, pPar2);
  59. pPar2 = add("FP", 107057, 11, pPar2);
  60. head[1] = init();
  61. node *pPar3 = head[1];
  62. pPar3 = add("SDLPL", 37198, 3, pPar3);
  63. pPar3 = add("LFGU", 204780, 32, pPar3);
  64. pPar3 = add("LP", 110780, 10, pPar3);
  65. pPar3 = add("SDPL", 108641, 13, pPar3);
  66. head[2] = init();
  67. head[2] -> next = pPar3;
  68. pPar3 = head[1] -> next;
  69.  
  70.  
  71. const string sname = "SDPL";
  72. find(sname, head[0]);
  73. find(sname, head[1]);
  74. find(sname, head[2]);
  75. find(sname, pPar2);
  76. find(sname, pPar3);
  77.  
  78. pPar2 = add("SFP", 10000, 1, pPar2);
  79.  
  80. pPar3 = removeElement(pPar3);
  81. head[1] -> next = NULL;
  82. head[2] -> next = NULL;
  83.  
  84. return 0;
  85. }
Success #stdin #stdout 0.01s 5304KB
stdin
Standard input is empty
stdout
Name: SDPL
Vote Count: 108641
Seat count: 13

Name: SDPL
Vote Count: 108641
Seat count: 13

Name: SDPL
Vote Count: 108641
Seat count: 13