C语言练习之实现对整型数组的冒泡排序

2023-04-28 09:56:06 浏览数 (1)

前言

实现一个对整形数组的冒泡排序

一、思路

这个程序用到两个循环: ①外循环控制排序的套数 ②内循环控制的是排序的过程 排序:判断相邻两个数,如果前一个数大于后一个数就将两个数的位置调换,直到每个数到达该到的位置,整个数组都是由小到大排序即可

二、源代码以及运行截图

为了方便大家的交流和学习,我将程序源代码和运行截图放置在下方。

源代码:

代码语言:javascript复制
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//实现一个对整形数组的冒泡排序
//用到两个循环
//外循环控制排序的套数
//内循环控制的是排序的过程
//排序:判断相邻两个数,如果前一个数大于后一个数就将两个数的位置调换,直到每个数到达该到的位置,整个数组都是由小到大排序即可
int main()
{
	int arr[10] = { 9,8,7,6,5,4,3,2,1,0 };
	int i = 0;
	int j = 0;
	int temp = 0;
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (j = 0; j < sz; j  )
	{
		for (i = 0; i < sz - 1 - j; i  )//用sz-1是因为下方使用到arr[i 1],如果用sz会发生越界访问
		{
			if (arr[i]>arr[i   1])
			{
				temp = arr[i];
				arr[i] = arr[i   1];
				arr[i   1] = temp;
			}
		}
	}
	for (i = 0; i < sz; i  )
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

运行截图:


总结

  以上就是今天要讲的内容,本文简单的介绍了用C语言实现一个对整形数组的冒泡排序思路,还进一步展示了代码的运行结果验证了作者的思路。

本文的作者也只是一个正在学习C语言等编程知识的萌新,若这篇文章中有哪些不正确的内容,请在评论区向作者指出(也可以私信作者),欢迎大佬们指点,也欢迎其他正在学习C语言的萌新和作者进行交流。

最后,如果本篇文章对你有所启发的话,也希望可以支持支持作者,后续作者也会定期更新学习记录。谢谢大家!

0 人点赞