Advertisement
khisby

Menghapus Bilangan Genap Double Linked List

May 3rd, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.77 KB | None | 0 0
  1. //Khisby Al Ghofari
  2. //06.2017.1.06852
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. struct simpul{
  8.     int data;
  9.     simpul *next;
  10.     simpul *prev;
  11. };
  12.  
  13.  
  14. int main()
  15. {
  16.  
  17.     simpul *baru,*bantu,*bantu2,*bantu3,*awal=NULL,*akhir=NULL;
  18.     int input;
  19.     cout << "Masukkan Jumlah Angka : ";
  20.     cin >> input;
  21.  
  22.     for(int i=1;i<=input;i++){
  23.         baru = new simpul;
  24.         baru->data = i;
  25.         baru->next = NULL;
  26.         baru->prev = NULL;
  27.  
  28.  
  29.         if(akhir== NULL){
  30.             awal = baru;
  31.             akhir = baru;
  32.         }else{
  33.             akhir->next = baru;
  34.             baru->prev = akhir;
  35.             akhir=baru;
  36.         }
  37.     }
  38.  
  39.     cout << endl;
  40.     cout << "=============Tampilkan===============" << endl;
  41.     bantu = awal;
  42.     while(bantu!=NULL){
  43.         cout << bantu->data << ",";
  44.         bantu = bantu->next;
  45.     }
  46.     cout << endl;
  47.  
  48.     cout << endl;
  49.     cout << "=============Menghapus Genap===============" << endl;
  50.     bantu = awal;
  51.     while(bantu!=NULL){
  52.         if(bantu->data % 2 != 0){
  53.             if(bantu->next != NULL){
  54.                if(bantu->next->next !=NULL){
  55.                     bantu2 = bantu->next;
  56.                     bantu3 = bantu2->next;
  57.                     bantu->next = bantu3;
  58.                     bantu3->prev = bantu;
  59.                     delete bantu2;
  60.                }else{
  61.                     bantu2 = bantu->next;
  62.                     bantu->next = NULL;
  63.                     delete bantu2;
  64.                }
  65.             }
  66.         }
  67.         bantu = bantu->next;
  68.     }
  69.  
  70.     cout << endl;
  71.     cout << "=============Tampilkan Hasil===============" << endl;
  72.     bantu = awal;
  73.     while(bantu!=NULL){
  74.         cout << bantu->data << ",";
  75.         bantu = bantu->next;
  76.     }
  77.     cout << endl;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement