Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void tambahdepan();
- void tambahbelakang();
- void tambahtengah();
- void buangdepan();
- void buangbelakang();
- void buangtengah();
- void cari();
- void papar();
- struct LL {
- int data;
- LL * next;
- } ;
- struct LL * head;
- int nom;
- bool jumpa;
- int main(void){
- head = NULL;
- int pilihan;
- while(true){
- cout << endl <<"Pilih operasi anda :" <<endl;
- cout << "1. Tambah data di depan" << endl;
- cout << "2. Tambah data di belakang" << endl;
- cout << "3. Tambah data di tengah" << endl;
- cout << "4. Buang data di depan" << endl;
- cout << "5. Buang data di belakang" << endl;
- cout << "6. Buang data di tengah" << endl;
- cout << "7. Cari data" << endl;
- cout << "8. Papar data" << endl;
- cout << "9. Keluar" << endl;
- cout << "Pilihan Anda: ";
- cin >> pilihan;
- switch(pilihan){
- case 1 : tambahdepan(); papar(); break;
- case 2 : tambahbelakang(); papar(); break;
- case 3 : tambahtengah(); break;
- case 4 : buangdepan(); break;
- case 5 : buangbelakang(); break;
- case 6 : buangtengah(); break;
- case 7 : cari(); break;
- case 8 : papar(); break;
- case 9 : return 0; break;
- default: cout << "Wrong Selection"; break;
- }
- }
- system("pause");
- return 0;
- }
- void tambahdepan(){
- LL*objek=new LL;
- cout << endl << "Masukkan No: ";
- cin>>objek->data;
- if(head == NULL){
- objek->next=NULL;
- }else {
- objek -> next = head;
- }
- head=objek;
- }
- void tambahbelakang() {
- LL*samir=new LL;
- cout << "\nMasukkan nilai :";
- cin >> samir -> data;
- samir -> next = NULL;
- if ( head==NULL ){ // true utk 1st node shj
- head = samir;
- }
- else { // true utk 2nd node n the rest
- LL * tmp = head;
- while (tmp -> next !=NULL) {
- tmp = tmp -> next;
- }
- tmp -> next = samir;
- }
- }
- void tambahtengah(){
- int tgh;
- papar();
- cout << "Tambah selepas data berapa : ";
- cin >> tgh;
- // assume semua data adalah unik
- LL * tmp = head;
- while(tmp != NULL){
- if(tgh == tmp->data){
- break;
- }
- else {
- tmp = tmp->next;
- }
- }
- LL*samir=new LL;
- cout << "\nMasukkan nilai :";
- cin >> samir -> data;
- samir -> next = tmp -> next;
- tmp -> next = samir;
- papar();
- }
- void buangdepan(){
- head = head->next;
- papar();
- }
- void buangbelakang(){
- }
- void buangtengah(){
- }
- void cari(){
- jumpa = false;
- cout << "\nMasukkan data yang dicari : ";
- cin >> nom ;
- LL * tmp = head;
- while (tmp !=NULL){
- if (nom == tmp -> data){
- jumpa = true;
- break;
- }
- else
- tmp = tmp -> next;
- }
- if (!jumpa)
- cout << "\nDATA XDOK !! SARANGHAE !!";
- else
- cout << "\nDATA ADO !!";
- }
- void papar(){
- LL*tmp=head;
- cout<<"HEAD->";
- while(tmp!=NULL){
- cout<<tmp->data<<"->";
- tmp=tmp->next;
- }
- cout<<"NULL";
- delete tmp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement