C语言实现的排序

时间:2023-03-09 15:44:21
C语言实现的排序

冒泡排序

比较相邻的两个元素,若顺序不对,则将其调换

通过一遍排序,较大的数会排到最后(沉到底部)

两层循环,外层循环控制遍数,内层循环控制每一遍内的排序。

C语言实现的排序

完整代码:

#include<stdio.h>
int Readscorce(int Num[]);
void BubbleSort(int Num[],int n);
#define SIZE 50 int main()
{
int Num[SIZE];
int n,i;
n=Readscorce(Num);
BubbleSort(Num,n);
for(i=;i<n;i++)
{
printf("%d ",Num[i]);
}
getchar();
getchar();
return ;
} int Readscorce(int Num[])
{
int i=-;
do
{ i++;
printf("Please Enter a number:");
scanf("%d",&Num[i]);
}while(Num[i]>=); return i;
} void BubbleSort(int Num[],int n)
{
int i,j,temp;
for(i=;i<n-;i++)
{
for(j=;j<n-i;j++)//减去后面已经排好的元素
{
if(Num[j]<Num[j-])
{
temp=Num[j-];
Num[j-]=Num[j];
Num[j]=temp;
}
}
}
}

BubbleSort Code

交换法排序

进行一遍后最小的数(或最大的数)会排在较前的位置

C语言实现的排序

两层循环,外层循环控制遍数,内层循环控制每一遍内的排序。

C语言实现的排序

 选择法排序

C语言实现的排序

找出最小数的下标,将最小数下标与首元素下标比较难

C语言实现的排序

归并排序法

C语言实现的排序

C语言实现的排序