青蛙排序
此类排序的前提是数组中的内容和下标有对应关系。
此排序时间复杂度为0(n),空间复杂度为O(1)
- #include "stdio.h"
- int main(){
- int a[10]={5,3,2,1,8,6,4,7,10,9} ;
- int b,i,j,n=10;
- for(j=0;j<n;j++)
- printf("%d/t",a[j]);
- printf("================/n");
- for(i=0;i<n;i++){
- while(a[i]!=(i+1)){
- b=a[a[i]-1];
- a[a[i]-1]=a[i];
- a[i]=b;
- for(j=0;j<n;j++)
- printf("%d/t",a[j]);
- printf("/n");
- }
- printf("---------------------/n");
- }
- printf("================/n");
- for(i=0;i<n;i++)
- printf("%d/t",a[i]);
- return 0;
- }
本文介绍了一种名为青蛙排序的独特算法,该算法适用于数组元素与其下标存在特定对应关系的情况。文章通过实例展示了如何使用该算法对数组进行排序,并提供了完整的C语言实现代码,帮助读者理解其工作原理及步骤。

1205

被折叠的 条评论
为什么被折叠?



