首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >气泡排序二维阵列

气泡排序二维阵列
EN

Stack Overflow用户
提问于 2014-05-24 06:31:08
回答 3查看 535关注 0票数 0

我一直在执行一个关于冒泡排序的练习。

到目前为止,已设法通过数组进行冒泡排序。

比如说,我们有我们的array = ([5,6,7], [2,3,4])

我如何在不修改原始数组或使用排序的情况下对其进行冒泡排序?

该练习要求我不复制/复制/克隆/编辑或使用排序方法。

我的代码通过一个常规数组进行冒泡排序:

代码语言:javascript
复制
def bubble_sort(array)
is_sorted = false
  until is_sorted
    is_sorted = true
    (array.count - 1).times do |i|
      if array[i] > array[i + 1]
        array[i], array[i + 1] = array[i + 1], array[i]
        is_sorted = false
      end
    end
  end
end

阵列

EN

回答 3

Stack Overflow用户

发布于 2014-05-24 06:33:56

创建一个新数组,该数组是原始数组的副本,并对其进行排序。这将使您保留原来的数组,并有排序数组。

票数 0
EN

Stack Overflow用户

发布于 2015-02-10 18:54:44

你能把这两个数组组合成一个数组,然后运行一个典型的气泡排序吗?

代码语言:javascript
复制
def combine_arrays(arr1,arr2)
  final = arr1 + arr2
  sorted = true
  while sorted do
    sorted = false
    (0..final.length - 2).each do |x|
      if final[x] > final[x+1]
        final[x], final[x+1] = final[x+1], final[x]
        sorted = true
      end
    end
  end
  final
end

p combine_arrays([1,3,5],[2,4,6]) => [1, 2, 3, 4, 5, 6]
票数 0
EN

Stack Overflow用户

发布于 2015-05-22 20:58:21

我认为对多维数组进行气泡排序的最简单方法是:

代码语言:javascript
复制
int main()
 {
    const size_t row = 4,col=6;
    int temp;
    int arr[row][col] = { { 6, 5, 4, 3, 2, 1 }, { 12, 11, 10, 9, 8, 7 }, {18, 17, 16, 15, 14, 13 }, { 24,23,22,21,20,1 } };
    for (auto &row : arr)
     {
      for (int i = 0; i != col; ++i)
       {
        int flag = 0;
        for (int j = 0; j != col-i - 1; ++j)
        {
            if (row[j]>row[j+1])
            {
                temp = row[j];
                row[j] = row[j + 1];
                row[j + 1] = temp;
                flag = 1;

            }
        }
        if (!flag)break;
      }
 }

for (auto &row : arr)
{
    for (auto col : row)
        cout << col << " ";
    cout << endl;
}


return 0;

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23841993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档