算法-排序-冒泡

来源:互联网 发布:高德 js api 定位 编辑:程序博客网 时间:2024/05/01 22:41
#ifndef MAOPAO_H_H#define MAOPAO_H_H//规则:假设是按从大到小的顺序排列//最里面的循环每次都将最小的数放到最后面//最外面的循环每次都将减去排好的最小数//结束条件是 最外层的for只剩下一个数//举例:排列 1 2 3 4 按大到小输出//1 2 3 4 -〉 2 1 3 4 -〉 2 3 1 4 -〉2 3 4 1 ( 最里层的for循环完毕, 1 是最小的数, 下次循环将将不再参与 )//2 3 4 -> 3 2 4 -> 3 4 2-> ( 最里层的for循环完毕, 2 是最小的数, 下次循环将不再参与 )//3 4 -〉 4 3 ( 最里层的for循环完毕, 3 是最小的数, 下次循环将不再参与 )//4 ( 只剩下一个数就是最大的数,冒泡算法完成 )template<class Type>void MaoPao( Type* _pArray, int ArrayLength ){//从大到小int j = ArrayLength-1;int tempdata;for( ;j != 0; --j  )for( int i = 0; i != j; ++i )if( _pArray[i] < _pArray[i+1] ){// < 从大到小排序// > 从小到大排序//交换数据//使大的放到前面,使小的放到后面tempdata = _pArray[i];_pArray[i] = _pArray[i+1];_pArray[i+1] = tempdata;}}#endif

原创粉丝点击