Kamis, 23 Juni 2011

Program Selection Sort dengan Maximum dan Minimum




#include <iostream.h>
#include <conio.h>

int main(){
int a[10];
int cur,z,temp,cur2,temp2;

cout<<"Banyak Data: ";
cin>>z;
cout<<endl;
for(int i=0;i<z;i++){
cout<<"Data ["<<i+1<<"]: ";
cin>>a[i];
}
cout<<"\nData Awal  :";
for(int i=0;i<z;i++)
cout<<a[i]<<" ";
cout<<endl;

for(int i=0;i<z;i++){
cur=i;
cur2=z;
for(int k=i+1;k<z;k++){
if(a[cur]>a[k]){
cur=k;
}}
for(int t=z;t<z;t--){
if(a[cur2]<a[t]){
cur2=t;
}
temp2=a[t];
a[t]=a[cur2];
a[cur2]=temp2;
}
temp=a[i];
a[i]=a[cur];
a[cur]=temp;
}
cout<<"\nData Akhir :";
for(int i=0;i<z;i++){
cout<<" "<<a[i];
}

cout<<endl;

getch ();
return 0;
}












Penjelasannya:
Untuk proses dengan minimum dapat dilihat di
for(int k=i+1;k<z;k++){
if(a[cur]>a[k]){
cur=k;...
sedangkan untuk pengurutan dengan cara maximum dapat dilihat di 
for(int t=z;t<z;t--){
if(a[cur2]<a[t]){
cur2=t;...
intinya jika menggunakan teknik minimum kita memulai pembandingan dari kiri (array pertama) sedangkan untuk maksimum memulai pembandingan dari kanan.....



Tidak ada komentar:

Posting Komentar