Last active
April 25, 2018 15:11
-
-
Save aldhinya/b5eb7f1d208b8b9b8c671c32ce9badc0 to your computer and use it in GitHub Desktop.
Tugas Linked List Bu Tutuk
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <conio.h> | |
#include <stdlib.h> | |
using namespace std; | |
struct simpul | |
{ | |
int data; | |
simpul *next; | |
}; | |
simpul *awal=NULL, *akhir=NULL, *last=NULL, *bantu=NULL, *baru=NULL; | |
void inputData() | |
{ | |
int a, b; | |
cout << "\nInputkan Awal = "; | |
cin >> a; | |
cout << "Inputkan Akhir = "; | |
cin >> b; | |
while(a<=b) | |
{ | |
baru = new simpul; | |
baru->data = a; | |
a++; | |
baru->next = NULL; | |
if(akhir == NULL) | |
{ | |
awal = baru; | |
} | |
else | |
{ | |
akhir->next = baru; | |
} | |
akhir = baru; | |
} | |
} | |
void tampilData() | |
{ | |
bantu = new simpul; | |
bantu = awal; | |
cout << "=======================" << endl; | |
cout << "Isi Data = "; | |
if(bantu != NULL) | |
{ | |
while(bantu != NULL) | |
{ | |
cout << bantu->data << " "; | |
bantu = bantu->next; | |
} | |
} | |
else | |
{ | |
cout << "Data Kosong!"; | |
} | |
} | |
void hapusGanjil() | |
{ | |
bantu = new simpul; | |
last = NULL; | |
bantu = awal; | |
if(awal == NULL) | |
{ | |
cout << "Data Kosong!" << endl; | |
} | |
else | |
{ | |
while(bantu != NULL) | |
{ | |
if(bantu->data % 3 != 0) | |
{ | |
last = bantu; | |
bantu = bantu->next; | |
} | |
else | |
{ | |
last->next = bantu->next; | |
if(akhir == bantu) | |
{ | |
akhir = last; | |
} | |
bantu = last->next; | |
} | |
} | |
cout << "\n> PESAN : Bilangan Ganjil Kelipatan 3 Berhasil dihapus!" << endl; | |
cout << "\n> Tekan enter untuk lanjut" << endl; | |
getch(); | |
} | |
} | |
int main() | |
{ | |
int menu; | |
tampilData(); | |
cout << endl; | |
cout << "=======================" << endl; | |
cout << "Pilih Menu" << endl; | |
cout << "=======================" << endl; | |
cout << "1. Input Data" << endl; | |
cout << "2. Hapus Ganjil (Kelipatan 3)" << endl; | |
cout << "3. Exit" << endl; | |
cout << "> Input Menu = "; | |
cin >> menu; | |
switch(menu) | |
{ | |
case 1: | |
{ | |
inputData(); | |
main(); | |
} | |
case 2: | |
{ | |
hapusGanjil(); | |
main(); | |
} | |
case 3: | |
{ | |
} | |
default: | |
{ | |
cout << "Input yang Benar!"; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <conio.h> | |
#include <stdlib.h> | |
using namespace std; | |
void ShowData(); | |
void InputData(); | |
void RemoveGenap(); | |
struct jaring | |
{ | |
int angka; | |
jaring *next; | |
}; | |
jaring *awal=NULL, *akhir=NULL, *last=NULL, *bantu=NULL, *baru=NULL; | |
int main() | |
{ | |
int a; | |
cout << "----------------------------" << endl; | |
ShowData(); | |
cout << endl; | |
cout << "Data Awal : "; | |
awal == NULL ? (cout << "Belom ada data" << endl) : (cout << awal->angka << endl); | |
cout << "Data Akhir: "; | |
akhir == NULL ? (cout << "Belom ada data" << endl) : (cout << akhir->angka << endl); | |
cout << "----------------------------" << endl; | |
cout << "1. Input Data Terurut" << endl; | |
cout << "2. Remove Genap" << endl; | |
cout << "3. Exit" << endl; | |
cout << "Choose>"; | |
cin >> a; | |
switch(a) | |
{ | |
case 1: | |
{ | |
InputData(); | |
main(); | |
} | |
case 2: | |
{ | |
RemoveGenap(); | |
main(); | |
} | |
case 3: | |
{ | |
exit(0); | |
} | |
default: | |
{ | |
cout << "???"; | |
getch(); | |
} | |
} | |
} | |
void InputData() | |
{ | |
int a, b; | |
cout << "Inputkan batas angka awal : "; | |
cin >> a; | |
cout << "Inputkan batas angka akhir: "; | |
cin >> b; | |
while(a<=b) | |
{ | |
baru = new jaring; | |
baru->angka = a; | |
a++; | |
baru->next = NULL; | |
if(akhir == NULL) | |
{ | |
awal = baru; | |
} | |
else | |
{ | |
akhir->next = baru; | |
} | |
akhir = baru; | |
} | |
} | |
void ShowData() | |
{ | |
bantu = new jaring; | |
bantu = awal; | |
if(bantu != NULL) | |
{ | |
while(bantu != NULL) | |
{ | |
cout << bantu->angka << " "; | |
bantu = bantu->next; | |
} | |
} | |
else | |
{ | |
cout << "Belum Ada Data..."; | |
} | |
} | |
void RemoveGenap() | |
{ | |
bantu = new jaring; | |
last = NULL; | |
bantu = awal; | |
if(awal == NULL) | |
{ | |
cout << "Data lom ada mz..." << endl; | |
getch(); | |
} | |
else | |
{ | |
while(bantu != NULL) | |
{ | |
if(bantu->angka % 2 != 0) | |
{ | |
last = bantu; | |
bantu = bantu->next; | |
//cout << "LL Berganti.." << endl; | |
} | |
else | |
{ | |
last->next = bantu->next; | |
if(akhir == bantu) | |
{ | |
akhir = last; | |
} | |
bantu = last->next; | |
//cout << "Genap Terhapus" << endl; | |
} | |
} | |
cout << "Mission Complete" << endl; | |
getch(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment