排序算法

来源:互联网 发布:php下载文件代码 编辑:程序博客网 时间:2024/06/08 12:31
#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),当且仅当满足

这里写图片描述
时称为堆。

0 0
原创粉丝点击