相关疑难解决方法(0)

Microsoft的STL :: list :: sort()使用哪种排序算法?

注意:我不小心发布了这个问题而没有指定我正在使用哪个STL实现,我觉得它无法真正更新,因为它会使大多数答案过时.

所以,正确的问题是 - 假设我使用的是Microsoft Visual C++的STL库,在下面的代码中使用了哪种排序算法?:

list<int> mylist;

// ..insert a million values

mylist.sort();
Run Code Online (Sandbox Code Playgroud)

sorting algorithm stl visual-c++

3
推荐指数
1
解决办法
1939
查看次数

如何降低排序的时间复杂度?

我已经编写了这个代码用于排序,它运行完全正常.我想知道如何减少时间复杂度.

#include <iostream>

using namespace std;

void sort(int a[], int n)
{
    int min, temp;
    for(int i=0;i<n-1;i++)
    {
        min=i;
        for(int j=i+1;j<n;j++)
        {
            if(a[min]>a[j])
            {
                min=j;
            }
        }
        temp=a[i];
        a[i]=a[min];
        a[min]=temp;
    }
    for(int i=0;i<n;i++)
    {
        cout<<a[i]<<endl;
    }
}
int main()
    {
    int n;
    cin>>n;
    int arr[n];
    for(int i=0;i<n;i++)
    {
        cin>>arr[i];
    }
    sort(arr,n);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果没有其他方法可以更改它,那么我是否必须更改算法?如果是,那么请建议一个算法?

谢谢.

c++ sorting algorithm time-complexity

2
推荐指数
1
解决办法
1455
查看次数

标签 统计

algorithm ×2

sorting ×2

c++ ×1

stl ×1

time-complexity ×1

visual-c++ ×1