给定n个字符串,将这n个字符串按照字典序进行排列,此处用排列函数是C++的库函数sort,产生如下两个疑问,望大佬解答

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>using namespace std;
/*
**********************************************
Q1:为什么定义类的数组,无法用sort函数排序呢?
会出现数组越界的情况,求解答
*********************************************
int main()
{string str[1000];int n;scanf("%d",&n);for(int i = 0;i < n;i++){scanf("%s",str+i);str[i] = str[i] +'\0';}sort(str,str+n-1);for(int i =0;i < n;i++)printf("%s\n",str+i);return 0;
}
**********************************************
*/
/*
以下代码正常运行
*/
int main()
{vector<string> str;string newstr;int n;scanf("%d",&n);for(int i = 0;i < n;i++){cin>>newstr;//scanf("%s",newstr);  //Q2:这里用scanf进行读取输入,为什么会出错呢?
        str.push_back(newstr);}sort(str.begin(),str.end());for(int i =0;i < n;i++)cout<<str[i]<<endl;return 0;
}

转载于:https://www.cnblogs.com/qiang-wei/p/9363469.html

scanf函数和cin的区别、类的数组、C++排序函数相关推荐

  1. PHP数组的排序函数

    PHP数组的排序函数 介绍: sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升序对关联数 ...

  2. php 数组从小到大排序,PHP 数组排序-php数组的排序函数

    数组中的元素能够以字母或数字顺序进行升序或降序排序. PHP - 数组的排序函数 在本节中,我们将学习如下 PHP 数组排序函数: sort() - 以升序对数组排序 rsort() - 以降序对数组 ...

  3. python类的成员函数_Python实现动态添加类的属性或成员函数的解决方法

    某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法.用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块. 本文就此简述了Python实现动态添加类的属性或 ...

  4. 【踩坑记录】priority_queue 第三个模板参数和sort 的第三个形参的区别;仿函数、自定义排序函数、lambda 函数分别传入;传入类型和对象的区别;

    文章目录 一.priority_queue 二.sort 三.总结: 一.priority_queue priority_queue<int,vector<int>,greater& ...

  5. c语言sort函数排序二维数组,c++ - 如何使用stl sort函数根据第二列对二维数组进行排序? - 堆栈内存溢出...

    stl排序要求迭代器的rvalue作为参数传递. 如果你想使用sort函数,你必须在c ++ 11中编译并使用数组stl来存储数组. 代码如下 #include "bits/stdc++.h ...

  6. java对类数组进行排序_Java比较器类对数组进行排序

    小编典典 [-]应该如何声明Java Comparator类以按其降序将数组的第一个元素排序 [-] 这是使用Java 8的完整示例: import java.util.*; public class ...

  7. 抽象类(纯虚函数、虚函数)和虚基类(虚继承)

    C++多态 C++的多态包括静态多态和动态多态,静态多态包括函数重载和泛型编程,动态多态包括虚函数.静态多态实在编译期间就能确定,动态多态实直在程序运行时才能确定. 抽象类 虚函数 在默认情况下对函数 ...

  8. python for和while的用法区别_详解python while 函数及while和for的区别

    1.while循环(只有在条件表达式成立的时候才会进入while循环) while 条件表达式: pass while 条件表达式: pass else: pass 不知道循环次数,但确定循环条件的时 ...

  9. 当类模板遇到了友元函数

    在我学习数据结构的时候,选用了<数据结构(用面向对象方法与C++语言描述)>殷人昆 编著 这本教材.这本书代码较老有一些错误,好多是无法直接在新版本编译器下实现的. 当时我C++模板学的不 ...

最新文章

  1. Mysql 将一张表的数据插入到另一张表中
  2. xcode项目集成CocoaPods
  3. P4570-[BJWC2011]元素【线性基,贪心】
  4. oracle-SQL-case when 改用 DECODE
  5. 【JSP】web.xml配置JavaWeb项目首页
  6. 中软python编码规范考试试题_这些常见的python学习问题,你中枪了吗?
  7. Flash3D的X,Y,Z坐标系调试小工具
  8. Python——装饰器的学习笔记(legacy)
  9. OpenStack 认证服务 KeyStone部署(三)
  10. 纯html网页重定向与跳转
  11. 英文参考文献的正确引用格式详解
  12. snakeyaml java_JAVA使用SnakeYAML解析与序列化YAML
  13. python多条件求和_使用sumifs进行多条件求和
  14. 在a标签中使用javascript
  15. easyExcel设置单个单元格(颜色)样式
  16. xray扫描器的使用 (长亭科技公司创造)
  17. 下级对上级回复已阅知_阅示、阅知、阅悉之间有什么区别
  18. 读书笔记:redis开发与运维 基础篇
  19. 服务器定时开机设置方法
  20. Spyder IPython窗口提示RuntimeError: Could not open file .../deploy.prototxt

热门文章

  1. 贝叶斯统计:信噪对偶与Dawid定理
  2. GIS配准和配准算法基本概念学习
  3. Windows内核HAL相关学习
  4. dnet 并行编程学习总结
  5. 在持续交付阶段中的测试覆盖率(译)
  6. 根据数据库连接的java.sql.Connection获取数据库名称
  7. java应用高内存占用
  8. linux下查看目录下某种文件类型累计的代码行数
  9. C# 参数按照ASCII码从小到大排序(字典序)
  10. POJ 2778 DNA Sequence (自动机DP+矩阵快速幂)