#include “stdio.h”
stooge_sort(int key[], int i, int j)
{
int k;
if(key[i] > key[j]){
int temp = key[i];
key[i] = key[j];
key[j] = temp;
}
if (i + 1 >= j) return;
k = (j - i + 1) / 3;
stooge_sort(key, i, j - k);
stooge_sort(key, i + k, j);
stooge_sort(key, i, j - k);
}
int main(void)
{
int key[] = {2,78,5,12,47,31,3,26,14,88,5};
int loop;
int len;
len = sizeof(key) / sizeof(int);
stooge_sort(key, 0, len - 1);
for(loop = 0; loop < len; loop++)
printf("%d ", key[loop]);
scanf("%d", &len);
return 0;
}
stooge排序---C语言
本文介绍了如何使用C语言实现stooge排序算法。通过一个示例程序展示排序过程,包括主函数main和核心排序函数stooge_sort。程序中包含了交换元素、递归调用排序子区间等关键步骤。
摘要由CSDN通过智能技术生成