1, 学习目标:
利用冒泡排序算法解决十个乱序数字排成升序数字
题目:随机输出十个数 按照从小到大的顺序重新排列
假设输入的值为 9 8 7 6 5 4 3 2 1
输出为:1 2 3 4 5 6 7 8 9
2,学习内容:
例如:
- 冒泡排序的核心思想
- 利用冒泡排序求解问题
3, 冒泡排序的核心思想
1,什么是冒泡排序?
什么是冒泡排序呢?冒泡排序的英文名叫Bubble sort,是一种最基础的交换排序
大家一定都喝过可乐吧,可乐中有许多小小的气泡往上冒,这是因为小气泡比水轻,所以小气泡会一点一点的向上浮,冒泡排序之说以叫冒泡排序,正是因为这种排序算法会把排序元素当成小气泡,根据数值大小,一点一点向着数组的一侧移动。
2,冒泡排序的核心思想:
相邻两个元素的值进行比较进行比较
思路稿图以下如图 : |
4,代码实现:
void bubble_sort(int arr[],int sz)
{
//确定趟数
int i = 0;
for (i = 0; i < sz-1; i++)
{
//一趟冒泡排序
int j = 0;
for (j = 0; j <sz-1-i ; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = 0;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
#include<stdio.h>
int main()
{
int arr[10] = { 9,8,7,6,5,4,3,2,1,0 };
int j = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (j = 0; j < sz; j++)
{
scanf("%d",&arr[j]);
}
bubble_sort(arr,sz);
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ",arr[i]);
}
return 0;
}
如本文案对各位读者有所帮助,双击点赞,后续题目及相关c语言知识小编会持续更新 |