美文网首页
【数据结构-排序】交换排序

【数据结构-排序】交换排序

作者: jenye_ | 来源:发表于2019-09-29 17:22 被阅读0次
  • 冒泡排序
  • 快排
#include<iostream>
using namespace std;

int Partition(int A[],int low,int high){ //关键算法
    int pivot = A[low];
    while(low<high){ 
        while(low<high&&A[high]>pivot) high--;
        A[low] = A[high];   // 其实是交换位置,看起来数据被覆盖,其实只覆盖了一个pivot的值,之后的值每次被覆盖之前都被储存了
        while(low<high&&A[low]<pivot) low++;
        A[high] = A[low];
    }
    A[low] = pivot;
    return low;
} 

void QuickSort(int A[],int low,int high){
    if(low<high){
        int pivotpos = Partition(A,low,high);
        QuickSort(A,low,pivotpos-1);
        QuickSort(A,pivotpos+1,high);
    }
}
int main(){
    int A[6] = {1,3,5,-1,2,10};
    cout<< "the len is " << sizeof(A)/sizeof(A[0]) << endl;
    int len = sizeof(A)/sizeof(A[0]);
    QuickSort(A,0,5);
    for(int i = 0; i < len; i++){
        cout<< A[i] <<" "; 
    } 
    cout<<endl;
}

相关文章

  • 算法

    十大经典排序算法(动图演示) 【数据结构】链表的原理及与其相关的常见面试题总结 一、排序算法 交换排序冒泡排序快速...

  • 排序算法之交换排序

    利用交换数据元素的位置进行排序的方法称为交换排序。常见的交换排序方法有冒泡排序和快速排序。 1. 冒泡排序 1.1...

  • 排序

    稳定排序 不稳定排序 交换排序 选择排序

  • 【数据结构-排序】交换排序

    冒泡排序略 快排

  • 冒泡排序

    冒泡排序,属于内部排序中的交换排序。

  • 排序

    Haskell描述 插入排序 交换排序 选择排序

  • 交换排序法

    交换排序法是指借助于数据元素之间的相互交换进行排序的一种方法。冒泡排序与快速排序法都属于交换排序法。 冒泡排序法的...

  • 【数据结构】【C#】019-交换类排序:🌓冒泡排序(稳定)(重要

    交换排序:冒泡排序 ( 相邻比序法 )(稳定) 冒泡排序是一种简单的交换类排序方法,它是通过相邻的数据元素的交换,...

  • Java 常见的 8 种排序算法(内排序)

    排序分类 内部排序 插入排序:直接插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:直接选择排序、堆排序...

  • 给自己备份的排序代码

    交换排序 冒泡排序 快速排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序

网友评论

      本文标题:【数据结构-排序】交换排序

      本文链接:https://www.haomeiwen.com/subject/jsfqpctx.html