首页 > 试题广场 >

0交换排序

[编程题]0交换排序
  • 热度指数:5850 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换,完成以下函数
推荐
for (int i = len-1; i>=0; i--){
 if (array[i] == i){
 //i--;
 continue;
 }
 int k = array[i];
 while (array[k] != k&&array[k] != i)
 {
 k = array[k];
 }
 
 swap_with_zero(array, len, i);
 swap_with_zero(array, len, k);
 }
验证通过

编辑于 2015-06-19 17:51:08 回复(6)