Selasa, 17 Mei 2016

insertion sort

---permasalahan
mengurutkan data dengan metode insertion.
misal:
0 0 0 0 → 4 → 4 0 0 0
4 0 0 0 → 1 → 1 4 0 0
1 4 0 0 → 2 → 1 2 4 0
1 2 4 0 → 3 → 1 2 3 4

---analisis
  1.untuk data pertama masukan ke indek pertama sebagai acuan berikutnya.
  2.masukkan input, cek nilai diurutkan dari depan apakah ada nilai yang lebih besar dari yang     diinputkan maka catat posisinya dan geser posisi tersebut dan setelahnya. kemudian sisipkan     inputan tersebut di posisi yang dicatat.
  3.ulangi langkah kedua sampai selesai inputnya.

flowchart raptor
                                                    gsr(untuk menggeser indek)

                                                                     main

                                                       po(mencari posisi)

          
                                                  t(untuk menampilkan)



c++


#include <iostream>
using namespace std;
int d[8]={0};

int po(int a){
int p=-1;
for(int i=0;i<8;i++){
if(a>d[i]&&d[i]!=0){
p=i;}
}
return p+1;
}

t(){
for(int i=0;i<8;i++){
cout<<d[i]<<" ";
}
cout<<endl;
}
void gsr(int a){
int t;
for(int i=a;i<7;i++){
t=d[i+1];
d[i+1]=d[a];
d[a]=t;

}
}
int main(){
int in;
for(int i=0;i<8;i++){
cin>>in;

if(po(in)<=i) {
gsr(po(in));
d[po(in)]=in;
} else
d[i]=in;
t();
}
}


lama kerja 4 jam

Related Articles

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.