c++ - std::sort() C++ 不工作但它很简单,为什么 :( 一维数组

标签 c++ arrays sorting std

这应该很简单,我发现第一个参数是数组名,第二个是数组的大小+数组名。但是,它似乎根本没有排序,实际上它什么也没做,也没有在控制台上写任何东西,我是不是在做傻事?

int main()
{
    readFromFile();
    system("pause");
    return 0;
}

void readFromFile()
{
    string line;
    int i = 0;
    int j;
    ifstream file("ACW2_data.txt");

if(file.is_open())
{
    getline(file, line);

    while (!file.eof())
    {
        file >> numbers[i];
        i++;
        int elements = sizeof(numbers) / sizeof(numbers[0]);
        **sort(numbers, numbers + elements);**
    }
    file.close();
}
else
{
    cout << "Cant open the file" << endl;
}

for(j = 0; j < i; j++)
{
    cout << numbers[j] << endl;
}

system("pause");
}

大家怎么看?

最佳答案

while (!file.eof())
{
    file >> numbers[i];
    i++;
    int elements = sizeof(numbers) / sizeof(numbers[0]);
    **sort(numbers, numbers + elements);**
}
file.close();

while (file >> numbers[i])
{
    ++i;
}
sort( numbers, numbers + i );
file.close();

std::vector<your_int_type> numbers;
your_int_type tmp;
while (file >> tmp)
{
    numbers.push_back(tmp);
}
std::sort( numbers.begin(), numbers.end() );
file.close();

关于c++ - std::sort() C++ 不工作但它很简单,为什么 :( 一维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5707977/

相关文章:

php - 如何使用逗号分隔值将数据库值存储在数组中

c++ - 为什么 int a= 4i;不报告语法错误(c++)

arrays - 将 JSON 数组索引列值转置为行并导出为 CSV

c++ - 如何在两个图形的工具提示上显示键/值对?

c++ - "int* p=+s;"有什么作用?

python - 具有自定义比较谓词的 heapq

java - 为什么我在 Java 中遇到这个编译错误?

swift - 如何检查 swift 中的嵌入式函数定义?

c++ - 如何使用 WINAPI 和 C++ 提取可执行文件的文件描述?

c++ - 为什么必须键入 getline(cin, string) 两次?