选择排序
#include <bits/stdc++.h>
using namespace std;
void selectionSort ( int a[ ] , int n) {
for ( int i = 0 ; i < n; i++ ) {
int index = i;
for ( int j = i + 1 ; j < n; j++ ) {
if ( a[ j] < a[ index] )
index = j;
}
swap ( a[ i] , a[ index] ) ;
}
}
void println ( int a[ ] , int n) {
for ( int i = 0 ; i < n; i++ ) {
if ( i == 0 )
cout << a[ i] ;
else
cout << " " << a[ i] ;
}
cout << endl;
}
int main ( ) {
int a[ 10001 ] , n;
cin >> n;
srand ( time ( NULL ) ) ;
for ( int i = 0 ; i < n; i++ ) {
a[ i] = rand ( ) % ( 1000 ) + 1 ;
}
selectionSort ( a, n) ;
println ( a, n) ;
return 0 ;
}
插入排序(未优化)
#include <bits/stdc++.h>
using namespace std;
void insertSort ( int a[ ] , int n) {
for ( int i = 1 ; i < n; i++ ) {
for ( int j = i; j > 0 ; j-- ) {
if ( a[ j] < a[ j - 1 ] ) {
swap ( a[ j] , a[ j - 1 ] ) ;
} else
break ;
}
}
}
void println ( int a[ ] , int n) {
for ( int i = 0 ; i < n; i++ ) {
if ( i == 0 )
cout << a[ i] ;
else
cout << " " << a[ i] ;
}
cout << endl;
}
int main ( ) {
int a[ 10001 ] , n;
cin >> n;
srand ( time ( NULL ) ) ;
for ( int i = 0 ; i < n; i++ ) {
a[ i] = rand ( ) % ( 1000 ) + 1 ;
}
insertSort ( a, n) ;
println ( a, n) ;
return 0 ;
}
插入排序(优化版)
#include <bits/stdc++.h>
using namespace std;
void insertSort ( int a[ ] , int n) {
for ( int i = 1 ; i < n; i++ ) {
int e = a[ i] ;
int j;
for ( j = i; j > 0 && a[ j - 1 ] > e; j-- ) {
a[ j] = a[ j - 1 ] ;
}
a[ j] = e;
}
}
void println ( int a[ ] , int n) {
for ( int i = 0 ; i < n; i++ ) {
if ( i == 0 )
cout << a[ i] ;
else
cout << " " << a[ i] ;
}
cout << endl;
}
int main ( ) {
int a[ 10001 ] , n;
cin >> n;
srand ( time ( NULL ) ) ;
for ( int i = 0 ; i < n; i++ ) {
a[ i] = rand ( ) % ( 100 ) + 1 ;
}
insertSort ( a, n) ;
println ( a, n) ;
return 0 ;
}