排序算法

//Quick_Sort

 

int Partion(int *str, int i, int j) {

int flag = str[i];

while(i < j) {

while(i < j && str[j] >= flag) {

j--;

}

if(i < j) {

str[i++] = str[j];

}

while(i < j && str[i] <= flag) {

i++;

}

if(i < j) {

str[j--] = str[i];

}

}

str[i] = flag;

return i;

}

 

void Quick_Sort(int *str, int low, int high) {

int pos;

if(low < high) {

pos = Partion(str, low, high);

Quick_Sort(str, low, pos - 1);

Quick_Sort(str, pos + 1, high);

}

}

 

 

//Bubble_Sort

int Bubble_Sort(int *pArray, int n) {

for(int i = 0; i < n - 1; i++)  {

for(int j = i + 1; j < n; j++) {

if(pArray[i] > pArray[j]] {

swap(pArray[i], pArray[j]);

}

}

}

 

 

//Insert_Sort

 

void Insert_Sort(int array[], int length) {

int key;

for(int i = 1; i < length; i++) {

key = array[i];

for(int j = i - 1; j >= 0 && array[j] > key; j--) {

array[j + 1] = array[j];

}

array[j + 1] = key;

}

}

 

 

//Shell_Sort

void Shell_Sort(int array[], int length) {

for(int increment = length / 2; increment > 0; increment /= 2) {

int key;

for(int i = increment; i < length; i++) {

key = array[i];

for(int j = i - increment; j >= 0 && a[j] > key; j -= increment) {

array[j + increment] = array[j];

}

array[j + increment] = key;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值