排序算法

    xiaoxiao2021-04-15  30

    #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

    最新回复(0)