网站建设一般需要多少钱,免费虚拟云windows主机,安徽地区建设工程信息网,做导购网站有哪些简介#x1f600;
冒泡排序是一种简单但效率较低的排序算法。它重复地扫描待排序元素列表#xff0c;比较相邻的两个元素#xff0c;并将顺序错误的元素交换位置#xff0c;直到整个列表排序完成。
实现#x1f9d0; 以下内容为本人原创#xff0c;经过自己整理得出
冒泡排序是一种简单但效率较低的排序算法。它重复地扫描待排序元素列表比较相邻的两个元素并将顺序错误的元素交换位置直到整个列表排序完成。
实现 以下内容为本人原创经过自己整理得出有问题欢迎评论区留言引用请标明出处谢谢 /*** author bhlu* date 2023-08-16* * brief 冒泡排序* * param[in] data 数字数组* param[in] size 数组长度* * return 无
*/
void bubble_sort(int data[], int size)
{// 按照上图的方法遍历size-1次for(int i 0; i size - 1; i){// 标记: 用于判断这次遍历是否了数据0-修改,1-未修改int flag 1;// 每轮判断的次数按上图的方法第一轮是size-1然后每次都会少一次可以使用size-1-ifor(int j 0; j size - 1 - i; j){// 将索引指向的数据与索引下一个数据进行比较大于就换位置if(data[j] data[j1]){int swap data[j];data[j] data[j1];data[j1] swap;flag 0; // 改变标记}}if(flag)// 如果还是1说明已经排好了就breakbreak;}
}完整代码
sort.c
#include sort.h/*** author bhlu* date 2023-08-16* * brief 冒泡排序* * param[in] data 数字数组* param[in] size 数组长度* * return 无
*/
void bubble_sort(int data[], int size)
{// 按照上图的方法遍历size-1次for(int i 0; i size - 1; i){// 标记: 用于判断这次遍历是否了数据0-修改,1-未修改int flag 1;// 每轮判断的次数按上图的方法第一轮是size-1然后每次都会少一次可以使用size-1-ifor(int j 0; j size - 1 - i; j){// 将索引指向的数据与索引下一个数据进行比较大于就换位置if(data[j] data[j1]){int swap data[j];data[j] data[j1];data[j1] swap;flag 0; // 改变标记}}if(flag)// 如果还是1说明已经排好了就breakbreak;}
}sort.h
#ifndef __SORT_H
#define __SORT_H#include stdio.hextern void bubble_sort(int data[], int size);#endifmain.c
#include sort.hint main(void)
{int data[] {10, 5, 2, 3, 4, 7, 6};int size sizeof(data) / sizeof(data[0]);printf(排序前: );for (int i 0; i size; i)printf(%d , data[i]);printf(\n);bubble_sort(data, size);printf(排序后: );for (int i 0; i size; i)printf(%d , data[i]);printf(\n);return 0;
}