啊哈!算法 学习1 排序 - 简单的桶排序
//排序10个0-100之间数字 //定义int数组 //这里生成包含101个个数数组是以为要对应输入的值 到对应到数组的index 譬如输入10 对应a[10] int a[101]; //数组赋值 生成 for (int i = 0; i < 101; i++) { a[i] = 0; } //声明变量 int x; //循环输入10个数字 for (int i = 0; i < 10; i++) { //读取输入值 scanf("%d",&x); //输入值对应在数组里面位置的值+1 if (x>100) { NSLog(@"请输入0-100之间的数字"); i--; }else { //输入那个数字在数组中对应index的值+1 可以输入多个相同的数字 //初始化是a[]中所有值为0 a[x]++; NSLog(@"输入的第%d数字为:%d,还需要输入%d个数字",i+1,x,9-i); } } NSLog(@"数组从小到大排列为:"); //循环读取数组里面的数字 for (int i = 0; i<101; i++) { //如果数组对应位置的值大于1 则输入值为当前数组的index //for是为了判断当前数组index输入了几次 for (int j = 1; j <= a[i]; j++) { NSLog(@"%d",i); } } NSLog(@"数组从大到小排列为:"); for (int i = 100; i>=0; i--) { for (int j = 1; j <= a[i]; j++) { NSLog(@"%d",i); } }
demo: