09 May 2013

Pengurutan Menggunakan LinkedList (C)

Sebuah algoritma pengurutan angka sederhana yang dibuat dengan bahasa C. Iseng aku buat untuk menambah artikel blog ini.

Soal yang akan dipecahkan oleh program ini yaitu 
Mengurutkan angka 2, 3, 5, 6, 1, 8 , 3, 2, 1, 4, dan 9 sehingga urutan angka-angka tersebut menaik dari yang terkecil sampai yang terbesar dengan menggunakan LinkList.

Berikut ini source code yang dibuat dengan bahasa C.

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>


struct angka{
       struct angka *kiri;     
       char data;
       struct angka *kanan;
};

char tambahdata(struct angka **bt,char nilai){
        if(*bt==NULL){
          *bt=(struct angka*) malloc (sizeof(struct angka));
          if(*bt==NULL) return 0;
         
          (*bt)->kiri=NULL;
          (*bt)->data=nilai;
          (*bt)->kanan=NULL;                         
          return 1;
        } 
        else {
          if (nilai<((*bt)->data)){
             return tambahdata(&((*bt)->kiri),nilai);
          }
          else {
             return tambahdata(&((*bt)->kanan),nilai); 
          }   
        }    
}

void cetakdata(struct angka *bt)
{
        if(bt->kiri!=NULL){
          cetakdata(bt->kiri);                  
        }   
        if((bt->data!=NULL)){
          printf("%c ",bt->data);
        }
        if(bt->kanan!=NULL){
          cetakdata(bt->kanan);                  
        }
       
}

int main(void){
        struct angka *ptr;
        char karakter;
        char berhasil;
       
        ptr=NULL;
        printf("Solusi Pengurutan Angka\n");
        printf("-----------------------\n");
        printf("Masukkan Kumpulan Angka :\n");
       
        do{
          karakter=getchar();
          berhasil=tambahdata(&ptr,karakter);
          if (!berhasil){
            printf("Data gagal dimasukkan:\n");
            getch();
            return 0;             
          }                
        } while (karakter!= '\n');
       
        printf("\nData setelah diurutkan: \n");
       
        cetakdata(ptr);
       
        getch();
        return 0; 
}

Dan dibawah ini tampilan dari aplikasi tersebut.


Setelah data angka tersebut dimasukkan maka akan menampilkan angka yang sudah terurut.




Semoga bermanfaat...

1 comment:

  1. KAMI SEKELUARGA TAK LUPA MENGUCAPKAN PUJI SYUKUR KEPADA ALLAH S,W,T
    dan terima kasih banyak kepada AKI atas nomor togel.nya yang AKI
    berikan 4 angka [7116] alhamdulillah ternyata itu benar2 tembus AKI.
    dan alhamdulillah sekarang saya bisa melunasi semua utan2 saya yang
    ada sama tetangga.dan juga BANK BRI dan bukan hanya itu AKI. insya
    allah saya akan coba untuk membuka usaha sendiri demi mencukupi
    kebutuhan keluarga saya sehari-hari itu semua berkat bantuan AKI..
    sekali lagi makasih banyak ya AKI… bagi saudara yang suka main togel
    yang ingin merubah nasib seperti saya silahkan hubungi KI JAYA WARSITO,,di no (((085-342-064-735)))
    insya allah anda bisa seperti saya…menang togel 970 JUTA , wassalam.


    dijamin 100% jebol saya sudah buktikan...sendiri....







    Apakah anda termasuk dalam kategori di bawah ini !!!!


    1"Dikejar-kejar hutang

    2"Selaluh kalah dalam bermain togel

    3"Barang berharga anda udah habis terjual Buat judi togel


    4"Anda udah kemana-mana tapi tidak menghasilkan solusi yg tepat


    5"Udah banyak Dukun togel yang kamu tempati minta angka jitunya
    tapi tidak ada satupun yang berhasil..







    Solusi yang tepat jangan anda putus asah... KI JAYA WARSITO akan membantu
    anda semua dengan Angka ritual/GHOIB:
    butuh angka togel 2D ,3D, 4D SGP / HKG / MALAYSIA / TOTO MAGNUM / dijamin
    100% jebol
    Apabila ada waktu
    silahkan Hub: KI JAYA WARSITO DI NO: [[[085-342-064-735]]]


    ANGKA RITUAL: TOTO/MAGNUM 4D/5D/6D


    ANGKA RITUAL: HONGKONG 2D/3D/4D/



    ANGKA RITUAL; KUDA LARI 2D/3D/4D/



    ANGKA RITUAL; SINGAPUR 2D/3D/4D/



    ANGKA RITUAL; TAIWAN,THAILAND



    ANGKA RITUAL: SIDNEY 2D/3D/4D

    ReplyDelete

Silakan masukkan komentar Anda untuk perkembangan blog ini.