c++ - C++ 中的数组排序问题

标签 c++ arrays sorting

我正在尝试制作一个不使用排序函数对数组进行排序的程序(不适用于对象或结构)。我已经使大于一起作用了,但是小于一不断地将数组中最大的元素更改为一并且排序错误,并且当与大于函数一起使用时,第一个元素变成了一个大数。有人可以帮我解决这个问题还是我的编译器。

void min_sort(int array[], const unsigned int size){
    for(int k = 0; k < size; k++) {
        for(int i = 0; i < size; i++) {
            if(array[i] > array[i+1]){
                int temp = array[i];
                array[i] = array[i+1];
                array[i+1] = temp;
            }
         }
     }
}

最佳答案

您没有正确循环。看起来您正在尝试冒泡排序,即:

void min_sort(int array[], const unsigned int size){
    for(int k = 0; k < size; k++)
        for(int i = k+1; i < size; i++)
            if(array[i] < array[k]){
                int temp = array[i];
                array[i] = array[k];
                array[k] = temp;
            }
}

关于c++ - C++ 中的数组排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69419141/

相关文章:

c++ - 声明一个结构并立即用 cv 限定符或存储持续时间说明符实例化它

C++:带有 API 的应用程序架构

java - 如何读取保存在 .json 文件中的矩阵并将其转换为 java 中的数组

r - 对R中非平凡元素的列表进行排序

javascript - Underscore JS - 对对象数组进行排序

C++: Unresolved external 问题让我抓狂

c++ - Gradle native C++非源文件资源或 Assets 文件夹位置?

arrays - 为什么每个值都没有初始化为 0?

c++ - 如何在编译时获取数组大小?

java - 对不同类型的对象进行排序(性能)