概述
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define PRINT_INT_ARRAY(arr, len)
for(int i=0; i<len; i++){
printf("%d,", arr[i]);
}
printf("n");
void SwapInt(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
void Shuffle(int *array, int length) {
srand(time(NULL));
for(int i = length - 1; i > 0; --i){
int random_number = rand() %i;
SwapInt(array + i, array + random_number);
}
}
int *Partition(int *low, int *high){
int pivot = *(low + (high - low) / 2);
int *p = low;
int *q = high;
while(1){
while ( *p < pivot) p ++;
while ( *q > pivot) q --;
if ( p >= q) break;
SwapInt(p, q);
}
return q;
}
void QuickSort(int *low, int *high){
if( low >= high) return;
int *partition = Partition(low, high);
QuickSort(low, partition - 1);
QuickSort(partition + 1, high);
}
#define PLAYER_COUNT 10
int main(){
int *players = malloc(sizeof(int) * PLAYER_COUNT);
if(!players){
return 1;
}
for(int i=0; i<PLAYER_COUNT; i++){
players[i] = i;
}
PRINT_INT_ARRAY(players,PLAYER_COUNT);
Shuffle(players, PLAYER_COUNT);
PRINT_INT_ARRAY(players,PLAYER_COUNT);
QuickSort(players, players + PLAYER_COUNT - 1);
PRINT_INT_ARRAY(players, PLAYER_COUNT);
free(players);
return 0;
}
最后
以上就是害怕人生为你收集整理的c语言:13.9、C语言指针实现快排算法的全部内容,希望文章能够帮你解决c语言:13.9、C语言指针实现快排算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复