我其实是一个C语言的新手,但是最近仔细琢磨了一下C语言中排序的两种方法:选择法与冒泡排序法,并以此来发出自己的第一篇CSDN博客,希望大家多多指教。
选择法:
#include<stdio.h>
void sort(int a[], int n)
{
int i, j, k, temp;
for (i = 0; i < n - 1; i++)
{
k = i;
for (j = i + 1; j < n; j++)
if (a[j] < a[k])
k = j;
if(k!=i)
{
temp = a[k];
a[k] = a[i];
a[i] = temp;
}
}
}
int main()
{
void sort(int a[], int n);
int i;
int a[10];
printf("please input 10 numbers:\n");
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
printf("\n");
sort(a, 10);
printf("The sorted array:\n");
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
执行结果为:
冒泡法:
#include<stdio.h>
int main()
{
int a[10], temp, i, j;
printf("Please input 10 integers\n");
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if (a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
printf("The sorted array:\n");
for (i = 0; i < 10; i++)
printf("%d ",a[i]);
return 0;
}
执行结果为:
请大佬们多多指教!