#include<iostream>
using namespace std;
int Init(
int a[]);
int main()
{
int a[
5]={};
Init(a);
for(
int i=
0;i<
5;i++)
{
for(
int j=i;j<
5;j++)
{
if(a[j]<a[i])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(
int i=
0;i<
5;i++)
{
cout<<a[i]<<
" ";
}
cout<<endl;
Init(a);
for(
int i=
5;i>=
0;i--)
{
for(
int j=
0;j<i;j++)
{
if(a[j+
1]<a[j])
{
int temp=a[j+
1];
a[j+
1]=a[j];
a[j]=temp;
}
}
}
for(
int i=
0;i<
5;i++)
{
cout<<a[i]<<
" ";
}
cout<<endl;
return 0;
}
int Init(
int a[])
{
a[
0]=
12;
a[
1]=
34;
a[
2]=
21;
a[
3]=
4;
a[
4]=
9;
}
堆排序是一种树形选择排序。是对直接选择排序的有效改进。
基本思想 堆的定义如下:具有n个元素的序列(k1,k2,…,kn),当且仅当满足
时称为堆。
转载请注明原文地址: https://ju.6miu.com/read-671622.html