大家好,今天我们来学习C语言中的冒泡排序法,在C语言中我们常常会有一个烦恼,那就是给你一个数组,里面存储了n个数字,要求你给它排序,在这个时候有许多小伙伴也许就比较苦恼了,我们怎样才能很快的将它排序呢,这就是我们今天要学习的内容冒泡排序法。
冒泡排序法
1.首先我们给一组乱序的数字给到数组里。
int arr[10] = {
25,35,68,79,21,13,98,7,16,62 };
int i = 0;
int j = 0;
int t;
2.接下来我们分析排序,一开始我们有十个数字,拿第一个元素和后面的比较要比较九次,九次比较完排序之后轮到下一个对接下来的数字进行比较和排序,因为第一个数在第一轮比较中就已经和这个数比较过了,所以这个数这一轮只要与其他的八个数进行比较和排序,后面的数字以此类推。所以这里用循环嵌套,第一个循环表示要比较的轮数,第二个循环表示要比较的次数。
接下来看到代码:
#include<stdio.h>
int main()
{
int arr[10] = {
25,35,68,79,21,13,98,7,16,62 };
int i = 0;
int j = 0;
int t;
for (i = 0; i < 9; i++)
{
for(j=0;j<9-1-i;j++)
if (arr[j] > arr[j + 1])
{
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
3.最后在用一个循环把数组打印出来。
for (i = 0; i < 10; i++)
printf("%d ", arr[i]);
return 0;
}
最后在看下完整的代码和运行结果。
#include<stdio.h>
int main()
{
int arr[10] = {
25,35,68,79,21,13,98,7,16,62 };
int i = 0;
int j = 0;
int t;
for (i = 0; i < 9; i++)
{
for (j = 0; j < 10 - 1 - i; j++)
if (arr[j] > arr[j + 1])
{
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
for (i = 0; i < 10; i++)
printf("%d ", arr[i]);
return 0;
}
好了,今天的分享就到这里,谢谢大家。