冒泡排序的基本思想
从前往后(或从后往前)两两比较相邻元素的值,若为逆序,,则交换它们,直到序列比较完。
算法代码
#include<iostream>usingnamespacestd; //冒泡排序算法 voidBubbleSort(intnums[],intn){ inti,j,temp; for(i=0;i<n;i++){ for(j=0;j<n-i-1;j++){ //一趟冒泡 if(nums[j]>nums[j+1]){ //逆序 temp=nums[j]; //交换 nums[j]=nums[j+1]; nums[j+1]=temp; } } } } //打印数组 voidprintNum(intnumbers[],intn){ for(inti=0;i<n;i++){ cout<<numbers[i]<<" "; } } intmain() { intnumbers[10]={3,44,38,5,47,15,36,26,27,2}; intn=sizeof(numbers)/sizeof(numbers[0]); //数组长度 BubbleSort(numbers,n); //调用 BubbleSort 函数进行插入排序 printNum(numbers,n); //打印数组 return0; }
算法性能分析