链接的列表字符串分类问题
Linked list string sorting issue
问题是,如果我输入1,然后是2和123。它将排序1,123,2。
我如何使其排序1,2,123
项目是创建的记录。跑步者是遍历。
struct Records {
string Name;
string ID;
char Gender;
string Phone_Num;
Records *Next;
};
void SortRecords(Records* Item, Records* head, Records** Set_Head){
Records* Runner = head;
if (head == NULL){
*Set_Head = Item;
}else if (Item->ID<head->ID){
Item->Next=head;
}else{
while(Item->ID>head->ID){
if(Item->ID > Runner->ID && Runner->Next==NULL){
Runner->Next=Item;
break;
}else if(Item->ID<Runner->Next->ID){
Item->Next=Runner->Next;
Runner->Next=Item;
Runner=Item;
cout<<Runner->Next->Name<<endl;
break;
}else{
Runner=Runner->Next;
}
}
}
您可以使用std::stoi
比较整数而不是字符串:
std::stoi(Item->ID) < std::stoi(Runner->Next->ID)
您实际上可能想存储ID作为整数,而不是字符串。
如果您可以说" 123ab",则可以提取数字:
string str = "123AB";
size_t last_index = str.find_last_of("0123456789");
string result = str.substr(0, last_index + 1); // result = "123";
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 为我的 c++ 类介绍制作一个三角形分类器.我有几个问题
- 链接的列表字符串分类问题
- 在OpenMP上的并行合并排序上的数组大小问题.如何将合并分类分类为更多任务
- 双打分类/编辑问题的2D向量
- 分类算法和对象指针的问题
- 我的分类神经网络有逻辑问题
- 从地图中获取字符分类信息时出现问题
- Opencv 3.0 SVM列车分类问题
- opencvc++:使用CvBoost (Adaboost分类器)的问题