排序算法是计算机科学中非常重要的一部分,用于将一组数据按照某种顺序排列。排序算法的目的是将一组数据按照特定的顺序进行排列,常见的排序算法有冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序和基数排序等。
例1
#include<stdio.h>
int main38(){
//从键盘上输入5个数字,并对他们进行排序(从小到大排序),在打印输出
//类型 数组名[个数]
int arr[5];
for(int i=0;i<5;i++){
scanf("%d",&arr[i]);
}
printf("---------\n");
//如何打印第一个元素值?
//打印输出
for(int i=0;i<5;i++){
printf("%d",arr[i]);
}
return 0;
}
例2
#include<stdio.h>
int main(){
int arr[5]={5,3,2,6,4};
//排序: 2,3,4,5,6
//1,交换数组中两个元素值
//{5,3,2,6,4}
//把下标为0的元素,和下标1的元素交换位置{3,5,2,6,4}
int temp = arr[0];//temp= 5;
arr[0] = arr[1];//arr[0] = 3;
arr[1] = temp;//arr[1] = 5
printf("%d",arr[0]);
printf("%d",arr[1]);
}
例3
#include<stdio.h>
int main(){
int arr[5]={3,4,2,5,6};
//排序: 2,3,4,5,6
//1,交换数组中两个元素值
//{5,3,2,6,4}
//把下标为0的元素,和下标1的元素交换位置{3,5,2,6,4}
//第一次循环,把最大的值放在最后面
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;i<5;i++){
printf("%d",arr[i]);
}
}
例4
#include<stdio.h>
int main(){
int arr[5];
//排序: 2,3,4,5,6
//1,交换数组中两个元素值
//{5,3,2,6,4}
//把下标为0的元素,和下标1的元素交换位置{3,5,2,6,4}
//第一次循环,把最大的值放在最后面
for(int i=0;i<5;i++){
scanf("%d",&arr[i]);
}
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1]=temp;
}
}
}
printf("--------------\n");
for(int i=0;i<5;i++){
printf("%d\n",arr[i]);
}
}