Advertisement
ElooEminem

Untitled

Apr 3rd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. using namespace std;
  4.  
  5. struct elem{
  6. int val; //wartosc elementu listy
  7. elem *next; //wskaznik na nastepny element listy
  8. };
  9.  
  10. void elem_add(struct elem *lista,int num){
  11. while(lista->next!=NULL)
  12. if(num>lista->next->val) lista=lista->next;
  13. else break; //Po tej petli lista zawiera element za ktorym
  14. struct elem *add=new struct elem; //trzeba dodoac nowy element
  15. struct elem *tmp=lista->next;
  16. lista->next=add;
  17. add->next=tmp; //Zabawa w przestawianie adresow
  18. add->val=num;
  19. return;
  20. }
  21.  
  22. void elem_erase(struct elem *lista,int num){ //Lepiej podac wlasciwy num (0 ; n-1). else Acces violation murowany :)
  23. for(int i=0;i<num;i++) lista=lista->next; //Petla znajduje element,
  24. struct elem *tmp; //poprzedzajacy ten, ktory bedzie usuniety
  25. tmp=lista->next->next;
  26. delete lista->next; //Zabawa w przestawianie adresow
  27. lista->next=tmp;
  28. return;
  29. }
  30.  
  31. struct elem *lista_init(int n){
  32. struct elem *first;
  33. first=new struct elem;
  34. first->val=n;
  35. first->next=NULL;
  36. return first;
  37. }
  38.  
  39. void list_delete(struct elem *lista){
  40. lista=lista->next;
  41. struct elem *tmp;
  42. while(lista){
  43. tmp=lista->next;
  44. lista=lista->next;
  45. }
  46. }
  47.  
  48. int main(){
  49. struct elem *first=lista_init(-1); //Element first mozna poznac ze ma wartosc -1, nie jest czescia wlasciwa listy, ale jest potrzebny
  50. elem_add(first,2); //Inicjacja jakiejs listy
  51. elem_add(first,6);
  52. elem_add(first,3);
  53. elem_add(first,7);
  54. elem_add(first,4);
  55. elem_add(first,9);
  56. elem_add(first,10);
  57. elem_erase(first,6); //Element 10 powinien zniknac???
  58. elem_add(first,1); //Tak wyglada petla ktora przeglada wszystkie elementy listy
  59. for(struct elem *lista=first->next; lista!=NULL; lista=lista->next) cout<<lista->val<<endl;
  60. list_delete(first);
  61. getche();
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement