# include <bits/stdc++.h>
using namespace std;
const int maxn = 2e6 + 10 ;
int a[ maxn] ;
int n, m;
int Partition ( int left, int right)
{
int p= a[ left] ;
int j= left;
for ( int i= left+ 1 ; i<= right; i++ )
{
if ( a[ i] < p)
{
j++ ;
swap ( a[ i] , a[ j] ) ;
}
}
swap ( a[ j] , a[ left] ) ;
return j;
}
void Quick_sort ( int left, int right)
{
if ( left>= right) return ;
int p= Partition ( left, right) ;
Quick_sort ( left, p- 1 ) ;
Quick_sort ( p+ 1 , right) ;
}
int main ( )
{
cin>> n;
for ( int i= 1 ; i<= n; i++ )
{
cin>> a[ i] ;
}
sort ( a+ 1 , a+ n+ 1 ) ;
for ( int i= 1 ; i<= n; i++ )
{
cout<< a[ i] << " " ;
}
return 0 ;
}
归并排序
void merge_sort ( int num[ ] , int left, int right, int temp[ ] )
{
if ( left>= right) return ;
int mid= ( left+ right) / 2 ;
merge_sort ( num, left, mid, temp) ;
merge_sort ( num, mid+ 1 , right, temp) ;
for ( int i= left; i<= right; i++ )
{
temp[ i] = num[ i] ;
}
int i= left, j= mid+ 1 ;
for ( int cur= left; cur<= right; cur++ )
{
if ( i== mid+ 1 ) num[ cur] = temp[ j++ ] ;
else if ( j> right) num[ cur] = temp[ i++ ] ;
else if ( temp[ i] <= temp[ j] ) num[ cur] = temp[ i++ ] ;
else num[ cur] = temp[ j++ ] ;
}
return ;
}
冒泡排序
void bubble_sort ( int num[ ] , int len)
{
for ( int i= 0 ; i< len- 1 ; i++ )
{
bool exchange= false ;
for ( int j= 0 ; j< len- i- 1 ; j++ )
{
if ( num[ j] > num[ j+ 1 ] )
{
int temp= num[ j] ;
num[ j] = num[ j+ 1 ] ;
num[ j+ 1 ] = temp;
exchange= true ;
}
}
}
for ( int i= 0 ; i< 10 ; i++ )
{
cout<< num[ i] << " " ;
}
}
选择排序
void selection_sort ( int num[ ] , int len)
{
for ( int i= 0 ; i< len; i++ )
{
int minIndex= i;
for ( int j= i+ 1 ; j< len; j++ )
{
if ( num[ j] < num[ minIndex] )
{
minIndex= j;
}
}
int temp= num[ i] ;
num[ i] = num[ minIndex] ;
num[ minIndex] = temp;
}
for ( int i= 0 ; i< 10 ; i++ )
{
cout<< num[ i] << " " ;
}
}
void insert_sort ( int num[ ] , int len)
{
for ( int i= 1 ; i< len; i++ )
{
int temp= num[ i] ;
int j;
for ( j= i; j- 1 >= 0 && num[ j- 1 ] > temp; j-- )
{
num[ j] = num[ j- 1 ] ;
}
num[ j] = temp;
}
for ( int i= 0 ; i< 10 ; i++ )
{
cout<< num[ i] << " " ;
}
}