c++ sort函数

news/2025/6/19 18:12:10

不得不说,课堂上交的东西真的太少了,c++整整学了一学期,也只教了一点基本用法,虽然说是说师傅领进门,修行在个人,但能靠课堂上的那点东西就真正入门,我感觉没多少人能办到,幸好加入了潘老师的团队,在老师和学长的帮助下,才真正的了解了一点编程。

今天在完成数据结构的实验时,没什么头绪,就在网上搜了搜,但仿照她写了一下,发现始终不对,开始以为是她用了sort这个我没见过的原因,但是看她的使用方法,以及从网上了解到的这个函数的用法,发现并没错,后来在学长的仔细检查下,发现是一个非常脑残的错误....在此就不多说了,我们的重点是sort函数(感谢朴世超学长的细心检查)

sort基本用法

sort函数是头文件algorithm中的函数,它的作用就是给一定范围内的数组排序,下面是官方文档中的介绍

clipboard.png

// sort algorithm example
#include <iostream>     // std::cout
#include <algorithm>    // std::sort
#include <vector>       // std::vectorbool myfunction (int i,int j) { return (i<j); }struct myclass {bool operator() (int i,int j) { return (i<j);}
} myobject;int main () {int myints[] = {32,71,12,45,26,80,53,33};std::vector<int> myvector (myints, myints+8);               // 32 71 12 45 26 80 53 33// using default comparison (operator <):std::sort (myvector.begin(), myvector.begin()+4);           //(12 32 45 71)26 80 53 33// using function as compstd::sort (myvector.begin()+4, myvector.end(), myfunction); // 12 32 45 71(26 33 53 80)// using object as compstd::sort (myvector.begin(), myvector.end(), myobject);     //(12 26 32 33 45 53 71 80)// print out content:std::cout << "myvector contains:";for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)std::cout << ' ' << *it;std::cout << '\n';return 0;
}

上面就是该函数的用法,很简单,但是很实用。

总结起来就是:
sort函数根据comp函数的返回值,对comp函数的两个参数排序。
如果comp返回true,排序为“参数1”“参数2”,否则排序为“参数2”“参数1”。
想要升序排列,则return parameter1<parameter2
想要降序排列,则return parameter1>parameter2

总结

专业课的实验还是很有意义的,特别是当自己不会的时候不要沮丧,通过他人的代码能给你很大的提升,包括该语言的高级用法,或者以前没了解的函数,最重要的是对自己思维的开阔。


https://dhexx.cn/news/show-126576.html

相关文章

《51CTO博客月刊》2014年4月号 总第5期

《51CTO博客月刊》精选博客中的最新技术与最正能量的文章&#xff0c;不管你是草根或是专家&#xff0c;不管你关注的是哪些方面技术&#xff0c;只要是身在职场&#xff0c;《51CTO博客月刊》都会是你绝对不能错过的刊物&#xff01;在闲暇之余&#xff0c;也能阅读学习&#…

python系列教程184——尽量少用全局变量

朋友们&#xff0c;如需转载请标明出处&#xff1a;https://blog.csdn.net/jiangjunshow 声明&#xff1a;在人工智能技术教学期间&#xff0c;不少学生向我提一些python相关的问题&#xff0c;所以为了让同学们掌握更多扩展知识更好地理解AI技术&#xff0c;我让助理负责分享…

Java自学经验分享

随着互联网行业的高速发展&#xff0c;编程无疑越来越深入人心。而Java是当前世界非常流行的编程语言之一&#xff0c;代表着很高的薪资和很好的待遇。现在社会也确实有很多人渐渐的对java产生了不小的兴趣&#xff0c;也想在Java这个领域分一份羹&#xff0c;但苦于入不得其门…

精益生产管理的基本含义

Lean production&#xff0c;其中的lean&#xff0c;被译为“精益”是有其深刻含义的。“精”表示精良、精确、精美&#xff0c;“益”包含利益、效益等。它突出了这种生产方式的特点。精益生产管理请添加链接描述方式与大量生产方式的最终目标是不同的。大量生产的奉行者给自己…

python系列教程185——不要直接修改其他文件的变量

朋友们&#xff0c;如需转载请标明出处&#xff1a;https://blog.csdn.net/jiangjunshow 声明&#xff1a;在人工智能技术教学期间&#xff0c;不少学生向我提一些python相关的问题&#xff0c;所以为了让同学们掌握更多扩展知识更好地理解AI技术&#xff0c;我让助理负责分享…

3D Grid Effect – 使用 CSS3 制作网格动画效果

今天我们想与大家分享一个小的动画概念。这个梦幻般的效果是在马库斯埃克特的原型应用程序里发现的​​。实现的基本思路是对网格项目进行 3D 旋转&#xff0c;扩展成全屏&#xff0c;并呈现内容。我们试图模仿应用程序的行为&#xff0c;因此创建了两个演示&#xff0c;分别演…

java常见面试题:Java程序员面试题(六)

不知不觉中&#xff0c;已经将面试题更新到第六篇了&#xff0c;庞大的java面试题库&#xff0c;想要刷完似乎不大可能&#xff0c;需要一点一点的积累。 1、java 中会存在内存泄漏吗&#xff0c;请简单描述。 答&#xff1a;会&#xff1b;存在无用但可达的对象&#xff0c;这…

python学习之操作mysql

欢迎点击个人博客 http://www.iwangzheng.com/ 刚开始学python&#xff0c;所以很多代码都需要在ipython里尝试一下。今天记录的是最基本的操作mysql数据库。 写数据库连接操作的时候&#xff0c;仿佛回到了当年在前两家公司写asp.net的感觉。 1.首先在mysql数据库里新建个数据…

朱晔和你聊Spring系列S1E10:强大且复杂的Spring Security(含OAuth2三角色+三模式完整例子)...

Spring Security功能多&#xff0c;组件抽象程度高&#xff0c;配置方式多样&#xff0c;导致了Spring Security强大且复杂的特性。Spring Security的学习成本几乎是Spring家族中最高的&#xff0c;Spring Security的精良设计值得我们学习&#xff0c;但是结合实际复杂的业务场…

python系列教程186——访问全局变量

朋友们&#xff0c;如需转载请标明出处&#xff1a;https://blog.csdn.net/jiangjunshow 声明&#xff1a;在人工智能技术教学期间&#xff0c;不少学生向我提一些python相关的问题&#xff0c;所以为了让同学们掌握更多扩展知识更好地理解AI技术&#xff0c;我让助理负责分享…