#include <iostream>
using namespace std;
void moHosrt(int a[],int t,int n)
{
int i, j;
for (i = t, j = i * 2+1; j < n; i = j, j = j * 2+1)
{
if (j+1<n&&a[j + 1]>a[j])
{
j++;
}
if (a[i] < a[j])
{
swap(a[i], a[j]);
}
else
break;
}
}
//下标从0开始
void mysort(int a[], int n)
{
int i;
for (i = n / 2; i >=0; i--)
{
moHosrt(a,i,n);
}
for (i = n-1; i >0; i--)
{
swap(a[0], a[i]);
moHosrt(a, 0, i-1);
}
}
int main999()
{
int i;
int a[6] = {0, 34, 56, 13, 78, 3 };
mysort(a,6);
for (i = 0; i <6; i++) cout << a[i] << " ";
cout << endl;
getchar();
getchar();
return 0;
}
算法 小端排序
最新推荐文章于 2024-06-18 14:15:14 发布