#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 ...