C 常見排序方法實現

2021-06-04 16:51:08 字數 1439 閱讀 3612

#pragma once

/**description:排序演算法類

*author: qjf

*date: 2012/3/2

**/class mysort

;#include "stdafx.h"

#include "mysort.h"

mysort::mysort(void)

mysort::~mysort(void)

/**@description: 氣泡排序

*@param arr: 待排序陣列

*@param size: 陣列大小

*/void mysort::bubble_sort(int *arr, unsigned int size)

} }}/*

*@description: 插入排序

*@param arr: 待排序陣列

*@param size: 陣列大小

*/void mysort::insert_sort(int* arr,unsigned int size)

//插入

arr[j] = temp; }}

/**@description: 堆排序

*@param arr: 待排序陣列

*@param size: 陣列大小

*/void mysort::heap_sort(int* arr, unsigned int size)

//建立最大堆

//迴圈依次取出最小元素,即每取乙個數則都把堆頂元素與堆尾元素交換

//然後再對剩下的i個元素(即從0到i,已取出的元素則換至每次的堆尾不進行調整)

//調整堆...

for (i=size-1;i>0;--i) }

/**@description: 二分插入排序

*@param arr: 待排序陣列

*@param size: 陣列大小

*/void mysort::dicho_sort(int* arr,unsigned int size)

//查詢到元素插入的位置則之後的元素都像後移一位

for(int j=i-1; j>=left; j--)

arr[left] = key;

} }/**@description: 調整堆

*@param arr: 待調整陣列

*@param size: 陣列大小

*@param pos: 待調整的父節點位置

*/void mysort::adjust_heap(int* arr,unsigned int size,unsigned int pos)

arr[start] = key;

celerity_sort(arr,startindex,start);

celerity_sort(arr,start + 1,endindex);

}

C 中常見排序方法

快速排序 堆排序 c 的list自帶sort方法排序 linq list自帶orderby排序 快排 1000萬int資料,大約3 4秒。在unity中大概1 2秒,奇怪。void quicksort t a,int l,int r where t icomparable a i pivot qui...

C 實現常見排序演算法

本程式參考了網上各位大牛和資料結構中的程式,vs2005執行通過,如有問題,請各位大牛指正。實現的排序有 直接插入排序 折半插入排序 希爾排序 氣泡排序 快速排序 選擇排序 堆排序等等 include using namespace std const int len 100 class csort...

C 實現常見排序演算法

本程式參考了網上各位大牛和資料結構中的程式,vs2005執行通過,如有問題,請各位大牛指正。實現的排序有 直接插入排序 折半插入排序 希爾排序 氣泡排序 快速排序 選擇排序 堆排序等等 include using namespace std const intlen 100 class csort ...