Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <ctime>
  4. using namespace std;
  5.  
  6. int N;
  7. struct vezana{
  8. int broj;
  9. vezana *sljedeci;
  10. };
  11.  
  12. void generiranje(){
  13.  
  14. }
  15.  
  16. int main(){
  17. vezana *lista = new vezana();
  18. lista -> sljedeci = NULL;
  19.  
  20. cout << "Unesite N: ";
  21. cin >> N;
  22.  
  23. //generiranje
  24. vezana *novi, *zadnji;
  25. zadnji = lista;
  26. while(zadnji -> sljedeci){
  27. zadnji = zadnji -> sljedeci;
  28. }
  29. srand(time(NULL));
  30. for(int i = 0; i < N; i++){
  31. novi = new vezana;
  32. zadnji -> sljedeci = novi;
  33. novi -> sljedeci = NULL;
  34.  
  35. novi -> broj = rand()%N+1;
  36.  
  37. zadnji = novi;
  38. }
  39.  
  40.  
  41. //ispis
  42. cout << endl << "Nesortirani ispis " << endl << "-------------------------" << endl;
  43. zadnji = lista -> sljedeci;
  44. while(zadnji -> sljedeci){
  45. cout << zadnji -> broj << " ";
  46. zadnji = zadnji -> sljedeci;
  47. }
  48.  
  49. //sortiranje
  50.  
  51. zadnji = lista;
  52. vezana *iduci;
  53.  
  54. while(zadnji){
  55.  
  56. iduci = zadnji -> sljedeci;
  57.  
  58. novi = new vezana;
  59. novi = zadnji;
  60. int swapped, i, temp;
  61. struct vezana *trenutni;
  62. struct vezana *kraj = NULL;
  63.  
  64. do
  65. {
  66. swapped = 0;
  67. trenutni = lista;
  68.  
  69. while (trenutni->sljedeci != kraj)
  70. {
  71. if (trenutni->broj > trenutni->sljedeci->broj)
  72. {
  73. temp = trenutni -> broj;
  74. trenutni -> broj = trenutni -> sljedeci -> broj;
  75. trenutni -> sljedeci -> broj = temp;
  76. swapped = 1;
  77. }
  78. trenutni = trenutni->sljedeci;
  79. }
  80. kraj = trenutni;
  81. }
  82. while (swapped);
  83. zadnji = iduci;
  84. }
  85.  
  86. cout << endl << endl << "Sortirani ispis " << endl << "-------------------------" << endl;
  87. zadnji = lista -> sljedeci;
  88. while(zadnji){
  89. cout << zadnji -> broj << " ";
  90. zadnji = zadnji -> sljedeci;
  91. }
  92.  
  93. cout << endl;
  94. system("Pause");
  95. return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement