Monday, March 31, 2014

Contoh Insert Depan dalam Linked list

Insert Depan



Insert Depan(Penambahan data di depan)
Penambahan node baru akan dikaitan di node paling depan, namun pada saat pertama kali (data masih kosong), maka penambahan data dilakukan pada head nya.
Pada prinsipnya adalah mengkaitkan data baru dengan head, kemudian head akan menunjuk pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan. Untuk menghubungkan node terakhir dengan node terdepan dibutuhkan pointer bantu.
Sebelum membaca kodingannya lebih baik sobat baca dulu keterangannya ya:
Node : rangkaian beberapa simpul
Single : artinya field pointer-nya hanya satu buah saja dan satu arah.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.

Circular : artinya pointer next-nya akan menunjuk pada dirinya sendiri sehingga berputar

INSERT DEPAN
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
typedef struct tnode{
        int data;
        tnode *next;
        };
        tnode *head;
void init(tnode **p){
     *p=NULL;
     }     
int Isempty(){
     if(head==NULL)
     return 1;
     else
     return 0;
     }
void insertdepan(int databaru){
     tnode *baru;
     baru=new tnode;
     baru->data=databaru;
     baru->next=NULL;
     if(Isempty()==1){
                      head=baru;
                      head->next=NULL;
                      }
     else{
          baru->next=head;
          head=baru;
          }
          printf("data masuk depan\n");
          }
void tampil(){
     tnode *bantu;
     bantu=head;
     if(Isempty()==0){
                      while(bantu!=0){
                                      cout<<bantu->data<<" ";
                                      bantu=bantu->next;
                                      }
                                      printf("\n");}
                                      else
                                      printf("masih kosong\n");
                                      }
int main(){
    tnode *head;
    init(&head);
    insertdepan(10);
    tampil();
    getch();
}
   

Artikel Terkait


EmoticonEmoticon