首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

不运用循环对10个数排序

2012-09-25 
不使用循环对10个数排序好像这是一道华为的面试题,小弟思考良久也找不到好的方法,只知道用递归,但具体怎么

不使用循环对10个数排序
好像这是一道华为的面试题,小弟思考良久也找不到好的方法,只知道用递归,但具体怎么做,还得请教各路大哥了。。

[解决办法]

C/C++ code
#include <stdio.h>#define NUM 5int i=0,j;int Arr[NUM];void sortfunc(void){    int tmp;    i++;    if(Arr[i]<Arr[i-1])    {        tmp=Arr[i];        Arr[i]=Arr[i-1];        Arr[i-1]=tmp;    }    if(i<j)    sortfunc();        else    {        i=0;j--;        if(j==0)return;        sortfunc();    }        }int main(int argc,char *argv[]){    j=NUM;    printf("请输入一个长%d的数组:\n",j);    for (i=0;i<NUM;i++)scanf("%d",&Arr[i]);    printf("排序前:\n");    for(i=0;i<j;i++)printf("%d ",Arr[i]);    printf("\n");        sortfunc();    printf("排序后:\n");    j=NUM;    for(i=0;i<j;i++)printf("%d ",Arr[i]);    printf("\n");    } 

热点排行