Radix Sort C++ Algoritma Random Data

ALGORITMA
1. MULAI
2. Menentukan panjang array dimana elemennya berukuran 100. Tetapi tidak dideklarasikan nilai elemen
3. Memanggil fungsi make_random untuk mengacak data dan isinya dengan menggunakan nilai bitwise mengeser bit.
4. Pada fungsi radix dilakukan perulangan denga memanggil nilai dari jumlah panjang array dan bitwisenya.
5. Dimana pada fungsi radixsort kita juga memanggil fungsi radi x dengan 4 parameter yang berbeda.
6. Menampilkan hasil pengurutan..
7. SELESAI

SOURCE CODE
/* Radix Sort */
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
//mendeklarasikan fungsi
void radix(int byte,long N,long*source,long*dest);
void radixsort(long*source,long*temp,long N);
void make_random(long*data,long N);
//mendeklarasikan panjang data
long data[100];
long temp[100];
int main(void){
    make_random(data,100);// membuat random  dengan memanggil fungsi make_random dengan paramenter array data dengan elemen 100
    radixsort(data,temp,100);//memangguk fungsi radix sort
for(int i=0;i<100;i++) cout<<data[i]<<“n”;//membuat perulangan untuk menampilkan hasil
}



void radix(int byte,long N,long*source,long*dest){//mendeklarasikan fungsi radix
long count[256];//mendeklarasikan panjang array count 256 elemen
long index[256];
int i;
    memset(count,0,sizeof(count));
for( i=1;i<N;i++) count[((source[i])>>(byte*8))&0xff]++;//menghitung array dengan menggeser bitwise
    index[0]=0;
for(i=1;i<256;i++) index[i]=index[i-1]+count[i-1];//melakukan perulangan array index + array count
for(i=0;i<N;i++) dest[index[((source[i]>>(byte*8)&0xff))]++]=source[i];//melakukan perulangan dengan menggeser bitwise code sebagai indexnya.
}
void radixsort(long*source,long*temp,long N)
{
    radix(0,N,source,temp);//memanggil fungsi radix dengan parameter 0,N,source,temp
    radix(1,N,temp,source);//memanggil fungsi radix dengan parameter 0,N,temp,source
    radix(2,N,source,temp);//memanggil fungsi radix dengan parameter 0,N,source,temp
    radix(3,N,temp,source);//memanggil fungsi radix dengan parameter 0,N,temp,source
}
void make_random(long*data,long N){
for(int i=0;i<N;i++) data[i]=rand()|(rand()<<16);//membuat data random dari array yang dideklarasikan sebagai 

}

Radix Sort C++ Algoritma Random Data | Admin | 4.5

Leave a Reply

Your email address will not be published. Required fields are marked *

You must be logged in to post a comment.