挿入ソートのプログラム。
左側から順番にソートしていく。ある程度並んでいるものに大しては早いが実行時間は
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
void insertsort(int *a, int n){
int j, x;
for(int i=1; i<n; i++){
x = a[i];
for (j=i-1; 0<=j && a[j] > x; j--)
a[j+1] = a[j];
a[j+1] = x;
}
}
void print_array(int *a, int size){
for (int i=0; i<size; i++){
cout << a[i] << " ";
}
cout << endl;
}
int main(){
srand(time(NULL));
int size = 10;
int a[size];
for (int i=0; i<size; i++){
a[i] = rand()%50;
}
cout << "before" << endl;
print_array(a, size);
cout << "after" << endl;
insertsort(a, size);
print_array(a, size);
}
最終更新:2010年03月05日 19:32