- permasalahan
mengurutkan data dengan metode insertion.
misal:
0 0 0 0 → 4 → 4 0 0 0
1 4 0 0 → 2 → 1 2 4 0
1 2 4 0 → 3 → 1 2 3 4 - analisis
- untuk data pertama masukan ke indek pertama sebagai acuan berikutnya
- 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.
- 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();
}
}
- program
- LINK LAINNYA
- selection sort(gieovani w p)
- bubble sort
Tidak ada komentar:
Posting Komentar