Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.23 KB | None | 0 0
  1. var list = document.getElementsByClassName("ace_editor");
  2. for (var i = 0; i < list.length; i++) {
  3. ace.edit(list[i]).onPaste = function(txt) {this.insert(txt)}
  4. }
  5.  
  6.  
  7. //lista jednokieruknowa
  8. #include <iostream>
  9. using namespace std;
  10.  
  11.  
  12. class Element{
  13. int value = 0;
  14. Element *next = 0;
  15.  
  16. public:
  17. Element()
  18. {
  19. //value = 0;
  20. //*next = 0;
  21. }
  22.  
  23. Element(int v) : value(v)
  24. {
  25.  
  26. }
  27. friend class List;
  28. friend ostream &operator<< (ostream &wyjscie, Element *kleks);
  29. };
  30.  
  31.  
  32. ostream &operator<< (ostream &wyjscie, Element *kleks)
  33. {
  34. wyjscie << kleks -> value<<" ";
  35. return wyjscie;
  36.  
  37. }
  38.  
  39.  
  40. class List{
  41. private:
  42. Element *first = 0;
  43.  
  44. public:
  45. List(){
  46. first = 0;
  47. }
  48.  
  49. void add(int a){ // dodawanie na koniec
  50.  
  51. if(first == 0)
  52. {
  53. first = new Element(a); // bo nie ma pierwszego elementu listy
  54. }
  55. else
  56. {
  57. Element *tmp = first; // zmienna potrzebna do przeskoczenia na następny obiekt w liście
  58. while(tmp -> next){ // tmp -> next!=0 jeżeli będzie jakaś wartość inna niż 0 to będzie true
  59. tmp = tmp -> next;
  60. }
  61. tmp -> next = new Element(a);
  62. }
  63. }
  64.  
  65. void addBegg(int a){
  66. if(first == 0){
  67. first = new Element(a);
  68. }
  69. else
  70. {
  71. Element *tmp = first; // jesli lista nie byla pusta to zapisujemy wartosc first i dodajemy nowy element
  72. first = new Element(a); // adres listy
  73. first -> next = tmp;
  74. }
  75. }
  76.  
  77.  
  78. void deletee(int b){
  79. Element *tmp = first;
  80. if(tmp -> value == b)
  81. {
  82. Element *tmp2 = tmp -> next;
  83. delete tmp; //usuwamy to na co pokazuje
  84. first = tmp2; //ogon zostaje
  85. }
  86. while(tmp ->next->value!=b){
  87. tmp=tmp->next;}
  88. Element *tmp2=0; //ogon
  89. if(tmp->next->next) // czy istnieje ogon
  90. tmp2=tmp->next->next;
  91.  
  92. delete tmp->next;
  93. tmp->next=tmp2; // poruszanie się po liście
  94. }
  95.  
  96. void sort(){
  97. Element *tmp = first;
  98. bool zm;
  99. do{
  100. zm = 0;
  101. while(tmp -> next){
  102. if(tmp -> value > tmp -> next -> value){
  103. swap(tmp, tmp -> next);
  104. zm =1;
  105. tmp = tmp -> next; // przesunięcie o jeden
  106. }
  107. }
  108. }while(zm == 1);
  109. }
  110.  
  111. /* void wyswietl(){
  112. Element *tmp = first;
  113. while(tmp -> next){
  114. cout << tmp << " ";
  115. tmp = tmp -> next;
  116. }
  117. cout << tmp;
  118. } */
  119.  
  120. void wyswietl(){
  121. Element *tmp = first;
  122. do{
  123. cout << tmp;
  124. tmp = tmp -> next;
  125. }while(tmp -> next);
  126. cout << tmp;
  127. }
  128.  
  129. void sortedAdd(int dod){ // dodawanie
  130. if (first==0){ //first == 0 // (!(first!=0))
  131. first = new Element(dod);
  132. return;
  133. }
  134. else{
  135. if(first -> value >= dod){
  136. Element *tmp = first;
  137. first = new Element(dod);
  138. first -> next = tmp;
  139. return;
  140. }
  141. Element *tmp = first;
  142. while(tmp -> next){
  143. if(tmp -> next -> value >= dod){
  144. Element *check = tmp->next;
  145. tmp -> next = new Element(dod);
  146. tmp -> next -> next = check;
  147. return;
  148. }
  149. tmp = tmp ->next;
  150. }
  151. tmp -> next = new Element(dod);
  152. }
  153. }
  154.  
  155. };
  156.  
  157.  
  158.  
  159. int main(){
  160.  
  161. List baza;
  162. baza.sortedAdd(1);
  163. baza.sortedAdd(3);
  164. baza.sortedAdd(2);
  165. baza.wyswietl();
  166.  
  167.  
  168. return 0;
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement