本篇文章给大家分享的是有关如何理解C语言基础中的排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
冒泡排序Bubble sort(经典的简单的排序算法)
它的原理:一组数据,相邻的两个数字 两两进行比较,按照从小到大或者从大到小的顺序进行交换;重复地进行这种比较直到没有再需要交换的,也就是说该组数据排序完成。
需要排序的数组: 6 2 4 3 8 1 7 9 5
按照Bubble sort的原理分析:
1.从起始数据 6>>>结束数据 5 当作一个大循环
2.第一次大循环开始:相邻两两数据比较是这个大循环的一部分。比对到符合条件的就交换,直到比对最后一对数据,此次大循环结束。
3.进行重复的操作 ,从起始数据开始做第二次大循环,重复进行相邻数据比对。
基本写法:
#include <stdio.h> int main(void) { int i,j,t; int Arr[9] = {6,2,4,3,8,1,7,9,5}; for (i=0;i<8;++i) { for (j=0;j<8-i;++j) { if (Arr[j]>Arr[j+1]) { t = Arr[j]; Arr[j] = Arr[j+1]; Arr[j+1] = t; } } } for (i= 0;i<9;++i) printf("%d",Arr[i]); return 0; }
使用函数 指针写法:
#include <stdio.h> void Bubble_sort(int *pArr,int Len) { int i,j,t; for (i=0;i<Len-1;++i) { for (j=0;j<Len-1-i;++j) { if (pArr[j]>pArr[j+1]) { t = pArr[j]; pArr[j] = pArr[j+1]; pArr[j+1] = t; } } } } int main(void) { int k; int Arr[9] = {6,2,4,3,8,1,7,9,5}; Bubble_sort(Arr,9); for (k= 0;k<9;++k) printf("%d",Arr[k]); return 0; }
以上就是如何理解C语言基础中的排序,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/tech/dev/204300.html