[排序算法]冒泡排序之C语言实现
一,冒泡排序介绍及原理
基本概念:依次比较相邻的两个数,大的数往后放,小的数往前面放。
原理介绍:
二,冒泡排序的C语言实现
根据上图的原理,我们编写C语言的冒泡排序实现
# include <stdio.h> // 排序函数 void sort(int * p,int len) { for(int i=0;i<len;i++) { // 第二层循环,随着外层循环次数的递增是递减的,因为排序一次,就已经把大的数放到后面了,就不需要再次排它了 for(int j=0;j<len-i-1;j++) { if(p[j]>p[j+1]) { int temp = p[j]; p[j] = p[j+1]; p[j+1] = temp; } } } } // 输出函数 void console(int * p,int len) { for(int i=0;i<len;i++) { printf("%d ",p[i]); } printf("\n"); } int main(void) { // 要排序的数组 int arr[7] = {6,9,8,3,4,1,2}; // 调用排序函数 sort(arr,7); // 输出排序结果 console(arr,7); return 0; }