冒泡排序
#include <iostream>using namespace std;
void bubblesort(double arr[], int len)
{
double temp;
for(int i=0; i<len; i++)
{
for(int j=0; i<len-i-1; j++)
{
if(arr > arr
{
temp = arr;
arr = arr;
arr = temp;
}
}
}
}
int main(void)
{
double arr[] = {2, 6, 7, 8, 9, 1};
bubblesort(arr, 6);
for(int i=0; i<6; i++)
cout << arr << ", ";
cout << endl;
return 0;
}
疑问
为啥循环部分和条件部分不能合并写成
for(int j=0; i<len-i-1 && arr>arr; j++)
// 交换前后两个元素
这样写有啥不妥 插入排序
#include <iostream>
using namespace std;
void insertsort(double arr[], int len)
{
double temp;
for(int i=1; i<len; i++)
{
for(int j=i; j>0 && arr<arr; j--)
{
temp = arr;
arr = arr;
arr = temp;
}
}
}
为啥插入排序可以把循环和条件合并起来写呢,有啥区别
页:
[1]