冒泡排序
冒泡排序
冒泡排序就是将数据两两比较,将大的或者晓得往后排,排序一次得到一个最大值或者最小值
代码主要把握比较趟数和两两比较次数
for主要作用是控制循环次数让代码执行下去
#include <iostream> using namespace std; template<typename T> void bubble_sort (T * array, int len,bool ascending) { T tmp = 0; if(ascending) { for(int i = 0; i < len-1; i ++) { for(int j = 0; j < len-i-1; j++)//留有余量 { if(array[j]<=array[j+1]) continue; else { tmp = array[j]; array[j] = array[j+1]; array[j+1] = tmp; } } } } else { for(int i = 0; i < len-1; i ++) { for(int j = 0; j < len-i-1; j++) { if(array[j]>=array[j+1]) continue; else { tmp = array[j]; array[j] = array[j+1]; array[j+1] = tmp; } } } } } int main() { float data[8]; for(int i = 0; i<8;i++) cin>>data[i]; cout<<"data"<<endl; for(int i = 0; i<8;i++) cout<<data[i]<<endl; bubble_sort<float>(data,8,false); cout<<"sorted data"<<endl; for(int i = 0; i<8;i++) cout<<data[i]<<endl; return 0; }