根据不同情况,做出选择,在实际应用时用的方法比较灵活、简单;
当没有要求时,随便哪种都行;当有要求时,根据要求选择合适的排序方法。
目录
企业级应用用到哪种排序?
1.冒泡排序
2.选择排序法
3.简单排序法
4.插入排序
5.三个数字排序
6.归并排序
题目:将 3,2,6,8,1,9,4,5,7,0 这十个数存进数组,并从小到大排序,并体现排序过程
//将 3,2,6,8,1,9,4,5,7,0 这十个数存进数组,并从小到大排序,并体现排序过程
//冒泡排序法
#include
#define n 10 //n:数组长度
int main()
{
int a[n] = {3,2,6,8,1,9,4,5,7,0};
int i,j;
int temp; //交换两数的中间变量
for(i=0; i a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
for(int i=0; i
2 3 6 1 8 4 5 7 0 9
2 3 1 6 4 5 7 0 8 9
2 1 3 4 5 6 0 7 8 9
1 2 3 4 5 0 6 7 8 9
1 2 3 4 0 5 6 7 8 9
1 2 3 0 4 5 6 7 8 9
1 2 0 3 4 5 6 7 8 9
1 0 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
//将 3,2,6,8,1,9,4,5,7,0 这十个数存进数组,并从小到大排序,并体现排序过程
//选择排序法
#include
#define n 10 //n:数组长度
int main()
{
int a[n] = {3,2,6,8,1,9,4,5,7,0};
int i,j,min; //min:每趟排序得出来的最小值
int temp; // 交换两数的中间变量
for(i=0; i
0 2 6 8 1 9 4 5 7 3
0 1 6 8 2 9 4 5 7 3
0 1 2 8 6 9 4 5 7 3
0 1 2 3 6 9 4 5 7 8
0 1 2 3 4 9 6 5 7 8
0 1 2 3 4 5 6 9 7 8
0 1 2 3 4 5 6 9 7 8
0 1 2 3 4 5 6 7 9 8
0 1 2 3 4 5 6 7 8 9
//将 3,2,6,8,1,9,4,5,7,0 这十个数存进数组,并从小到大排序,并体现排序过程
//简单排序法
#include
#define n 10 //n:数组长度
int main()
{
int a[n] = {3,2,6,8,1,9,4,5,7,0};
int i,j;
int temp; //交换两数的中间变量
for(i=0; i a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
for(int i=0; i
0 3 6 8 2 9 4 5 7 1
0 1 6 8 3 9 4 5 7 2
0 1 2 8 6 9 4 5 7 3
0 1 2 3 8 9 6 5 7 4
0 1 2 3 4 9 8 6 7 5
0 1 2 3 4 5 9 8 7 6
0 1 2 3 4 5 6 9 8 7
0 1 2 3 4 5 6 7 9 8
0 1 2 3 4 5 6 7 8 9
//将 3,2,6,8,1,9,4,5,7,0 这十个数存进数组,并从小到大排序,并体现排序过程
//插入排序法
#include
#define N 10
int main()
{
int i,j,temp;
int a[N] = { 3,2,6,8,1,9,4,5,7,0};
for(i=1; i=0 && a[j]>temp; j--)
{
a[j+1] = a[j];
}
a[j+1] = temp;
for(int i =0; i
2 3 6 8 1 9 4 5 7 0
2 3 6 8 1 9 4 5 7 0
2 3 6 8 1 9 4 5 7 0
1 2 3 6 8 9 4 5 7 0
1 2 3 6 8 9 4 5 7 0
1 2 3 4 6 8 9 5 7 0
1 2 3 4 5 6 8 9 7 0
1 2 3 4 5 6 7 8 9 0
0 1 2 3 4 5 6 7 8 9
#include
void fun(int *a ,int *b)
{
int t;
if(*a>*b)
{
t = *a;*a = *b;*b = t;
}
}
int main()
{
int a=5,b=3,c=4;
fun(&a,&b); fun(&a,&c); fun(&b,&c);
printf("%d%d%d",a,b,c); //345
}
//归并排序
#include
#include
#define N 9
void print(int arr[],int n){
for(int i=0 ;i
9 5 2 7 12 4 3 1 11
1 2 3 4 5 7 9 11 12