我试图弄清楚如何按每个int中的第一个数字对整数列表进行排序(如果相同,则移动到下一个数字等)
我确定我可以循环播放,(虽然我一直有问题,因为我似乎需要让我的列表成为一个字符串列表才能抓住第一个数字而这只是没有& #39;一直在为我工作),但我想知道是否有办法用sorted()
方法轻松完成这项工作。
EX:
myList = [34254, 2343, 49, 595, 323]
我想要的结果:
sortedList = [2343, 323, 34254, 49, 595]
答案 0 :(得分:9)
使用字符串键进行排序,您将获得ASCIIbetical排序。
#include <iostream>
#include <fstream>
#include <string>
#include <cstdio>
using namespace std;
int main()
{
string line; //holds values from txt file
string input; //holds user-inputted values
ifstream inputFile; //fstream operator declaration
bool isFound = false; //bool value to indicate if the string has been found
inputFile.open("dict.txt", ios::in);
if (inputFile)
{
while (input != "exit")
{
// Rewind file back to beginning every time
inputFile.clear();
inputFile.seekg(0,std::ios::beg);
cout << "Enter word to spellcheck (or exit to end)\n";
getline(cin, input);
while (getline(inputFile, line))
{
if (input == line)
{
isFound = true;
break;
}
else
{
isFound = false;
}
}
if (isFound )
{
cout << input << " is spelled correctly.\n";
}
else
{
if (input != "exit"){ // Don't print message if exiting
cout << input << " is not spelled correctly.\n";
}
}
}
if (input == "exit")
{
cout << "Ending program...\n";
}
inputFile.close();
}
else
{
cout << "Cannot open file\n";
}
return 0;
}