/* 冒泡排序算法 */
#include <stdio.h>
void bubble(int a[] ,int len)
{
for(int i = 0 ;i < len -1 ;i++){
for(int j = 0 ;j < len -i ;j++){
if(a[j] > a[j+1]){
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
}
/* 选择排序算法 */
void select(int a[] ,int len)
{
for(int i = 0 ;i < len -1 ;i++){
int min = i;
for(int j = i+1 ;j < len ;j++){
if(a[j] < a[min])
min = j;
}
int tmp = a[min];
a[min] = a[i];
a[i] = tmp;
}
}
/* 插入排序算法 */
void insert(int a[] ,int len)
{
for(int i = 1 ;i < len ;i++){
for(int j = i ;j > 0 ;j--){
if(a[j] < a[j-1]){
int tmp = a[j];
a[j] = a[j-1];
a[j-1] = tmp;
}
}
}
}
/* 快速排序算法 */
void quick(int a[] ,int left ,int right)
{
int i = left ,j = right ,tmp = a[left];
if(left < right){
while(i < j){
while(j > i && a[j] >tmp)
j--;
if(j > i)
a[i++] = a[j];
while(i < j && a[i] <tmp)
i++;
if(i < j)
a[j--] = a[i];
}
a[i] = tmp;
quick(a ,left ,j-1);
quick(a ,i+1 ,right);
}
}
|