Jumat, 28 Juni 2013

Tugas STRUKTUR DATA II ( LINKLIST IV )

SCRIPT LINKLIST IV


#include <QCoreApplication>
#include <stdio.h>
#include <iostream>
using namespace std;

struct tnode {
  int info;
  tnode *next;
};
tnode *head;
tnode *baru;
tnode *bantu;
tnode *hapus;
tnode *cari;
tnode *pencacah;

int main(){
  //1. deklarasi
  int databaru;

  //Insert Kosong --> maka head baru
  databaru =10;
  baru = new tnode;
  baru->info = databaru;
  baru->next=NULL;

  head=baru;
  head->next = NULL;


  //Insert di awal head
  databaru = 9;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  baru->next = head;
  head=baru;

  //Insert di awal head
  databaru = 2;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  baru->next = head;
  head=baru;

  //Insert di awal head
  databaru = 23;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  baru->next = head;
  head = baru;

  //Insert di akhir
  databaru = 7;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  bantu = head;
  while (bantu->next != NULL ){
      bantu = bantu->next;
  }
  bantu->next = baru;

  //Insert di akhir
  databaru = 3;
  baru = new tnode;
  baru->info = databaru;
  baru->next = NULL;

  bantu = head;
  while (bantu->next != NULL ){
      bantu = bantu->next;
  }
  bantu->next = baru;



  //Menampilkan
  cout << "\n (=======Keadaan awal==========) \n";
  bantu = head;
  while (bantu != NULL) {
      cout << bantu->info << "\n";
      bantu = bantu->next;
  }

  //Hapus Depan
  hapus = head;
  head = head->next;
  delete hapus; //Menghapus dari memory

  //Hapus Belakang --> tidak bisa melihat sebelumnya
  bantu  = head;
  hapus = bantu;
  while (bantu->next != NULL) {
    bantu = bantu->next;
    hapus = bantu;
  }
  hapus->next= NULL;

  //Menampilkan
  cout << "\n (========Setelah data awal dihapus=========) \n";
  bantu = head;
  while (bantu != NULL) {
      cout << bantu->info << "\n";
      bantu = bantu->next;

  }
  // Cari Data
 bantu = head;
 int pencacah =0;
 int cari = 8;
     while (bantu !=NULL){
         if (cari ==( bantu->info )) {
         break;
}
         else{
         cout << pencacah;
         cout << bantu->info << "\n";
         bantu = bantu->next;
         pencacah +=1;
        }}

        cout << "data terakhir pada " <<pencacah;

  cout << "\n";
  return 0;
}

Tidak ada komentar:

Posting Komentar