当前位置: 首页 > news >正文

做网站人员有什么名称湖南盈达电力建设有限公网站

做网站人员有什么名称,湖南盈达电力建设有限公网站,广西网站推广,百度搜索资源管理平台目录 一、sort 1.1sort简介 语法 参数 功能 适用容器 1.2sort的用法 1.3自定义比较函数 示例 1265蓝桥题 —— 排序 二、min和max函数 三、min_element和max_element 497蓝桥题 —— 成绩分析 四、nth_element 一、sort 1.1sort简介 sort函数包含在头文件a…目录 一、sort 1.1sort简介 语法 参数 功能 适用容器 1.2sort的用法 1.3自定义比较函数  示例 1265蓝桥题 —— 排序 二、min和max函数 三、min_element和max_element 497蓝桥题 —— 成绩分析 四、nth_element 一、sort 1.1sort简介 sort函数包含在头文件algorithm中。在使用前需要#include algorithm或使用万能头文件。sort是C标准库中的一个函数模板用于对指定范围内的元素进行排序。sort算法使用的是快速排序 (QuickSort) 或者类似快速排序的改进算法具有较好的平均时间复杂度一般为O(nlogn) 语法 Sort(start,end,cmp) 参数 1start表示要排序数组的起始地址 2end表示数组结束地址的下一位 3cmp用于规定排序的方法可不填默认升序。 功能 sort函数用于C中对给定区间所有元素进行排序默认为升序也可进行降序排序。 一般是直接对数组进行排序例如对数组a[10]排序sorta,a10。而sort函数的强大之处在可与cmp函数结合使用即自定义排序如果你想按照特定的顺序排序可以传递一个自定义的比较函数或lambda表达式给sort()。这个函数应该接受两个参数并返回一个布尔值指示第一个参数是否应该在排序后位于第二个参数之前。 相对于普通的排序算法sort函数在快速排序详见C快速排序的基础上又进行了优化时间复杂度为n*log2(n)执行效率较高。 适用容器 sort()函数适用于数组和提供了随机访问迭代器的大多数STL容器如vector、deque等。对于不支持随机访问迭代器的容器如list、forward_list应使用list容器自己的sort()成员函数。 int main() {//sort(起始地址, 结束地址的下一位, *比较函数);// 迭代器begin() end() 默认用小于号int a[1000];int n;//读取数组大小cin n;//读取数组元素for (int i 1; i n; i)cin a[i];//对数组进行排序sort(a 1, a n 1);// a[1] a[n1] [1,n1) 左闭右开//输出for (int i 1; i n; i)cout a[i] ; } 1.2sort的用法 std::sort(begin, end); begin和end是输入序列的起始迭代器和结束迭代器。需要注意的是end迭代器指向的是序列尾部的过去位置即最后一个有效元素之后的位置。 int main() {//初始化vvectorintv { 5,1,3,9,11 };// begin v[0] v[4] end()//对数组进行排序sort(v.begin(), v.end());//输出//for (int i 0; i v.size(); i)cout v[i] ;for (auto i : v)cout i ;return 0; } 1.3自定义比较函数  使用sort()我们不仅仅可以从大到小排或者从小到大排还可以按照一定的准则进行排序。比如说我们按照每个数的个位进行从大到小排序我们就可以根据自己的需求来写一个函数作为排序的准则传入到sort()中。 //sort默认使用小于号进行排序,如果想要自定义比较规则, //可以传入第三个参数,可以是函数或lambda表达式(匿名函数) bool cmp(const int u, const int v) {return u v; }int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//初始化vectorint v { 5,1,3,9,11 };//对数组进行排序,降序排序sort(v.begin(), v.end(),cmp);//输出/*for (int i 0; i v.size(); i)cout v[i] ;*/for (auto i : v)//就是v中的数据{cout i ;} }sort默认使用小于号进行排序如果想要自定义比较规则 可以传入第三个参数可以是函数或lambda表达式匿名函数。 int main() {//初始化vvectorintv { 5,1,3,9,11 };//对数组进行排序,降序排序sort(v.begin(), v.end(), [](const int u, const int v){return u v;});//输出//for (int i 0; i v.size(); i)cout v[i] ;for (auto i : v)//就是v中的数据{cout i ;}return 0; } 结构体可以将小于号重载后进行排序当然用前面的方法也是可行的  struct Node {int u, v;bool operator(const Node m)const//重载的operator是一个成员函数//它接受一个const Node类型的参数即对另一个Node对象的常量引用//并返回一个bool类型的结果。{//以u为第一关键字,v为第二关键字排序return u m.u ? v m.v : u m.u;} };#include iostream using namespace std; int main() {int n; cin n;return 0; } 示例 #includeiostream #includestring #includealgorithm using namespace std; struct Student{ string name; // 学生姓名 double score[4]; // 学生四门课的成绩 }; // 比较函数用于sort排序按照平均成绩从高到低排序 bool cmp_score(const Student x, const Student y){ double average_x 0.0, average_y 0.0; for(int i 0; i 4; i){ average_x x.score[i]; average_y y.score[i]; } average_x / 4; average_y / 4; return average_x average_y; } int main(){ Student stu[3]; // 存储三个学生的信息 // 输入三个学生的姓名和四门课的成绩 for(int i 0; i 3; i){ cin stu[i].name; for(int j 0; j 4; j){ cin stu[i].score[j]; } } // 使用sort函数按照平均成绩从高到低排序 sort(stu, stu 3, cmp_score); // 输出排序后的学生信息 for(int i 0; i 3; i){ cout stu[i].name ; for(int j 0; j 4; j){ cout stu[i].score[j] ; } cout endl; // 换行 } return 0; } 1265蓝桥题 —— 排序 #include bits/stdc.h // 包含了C标准库中的大部分头文件 using namespace std; // 使用标准命名空间std const int N 5e5 3; // 定义一个常量N其值为500003作为数组a的最大可能大小 int a[N]; // 定义一个全局数组a大小为N int main() { int n; cin n; // 输入一个整数n表示数组a中实际元素的数量 for (int i 1; i n; i) cin a[i]; // 从a[1]开始而不是通常的a[0]输入n个整数到数组a中 sort(a 1, a 1 n); // 对数组a中从a[1]到a[n]的元素进行排序 // 以升序打印数组a中的元素 for (int i 1; i n; i) cout a[i] \n[i n]; // 打印每个元素和一个空格如果i等于n即最后一个元素则打印换行符 // 这里使用了字符串字面量 \n的数组索引技巧// 当in时[in]求值为[1]选择\n否则为[0]选择 // 以降序打印数组a中的元素 for (int i n; i 1; --i) cout a[i] \n[i 1];// 类似地打印每个元素和一个空格如果i等于1即最后一个要打印的元素则打印换行符 return 0; } 二、min和max函数 min和max函数min(ab)返回a和b中较小的那个值只能传入两个值或传入一个列表例如:min(3, 5) 3min({1, 2, 3,4)) 1max(ab)返回a和b中较大的那个值只能传入两个值或传入一个列表例如:max(75) 7max([1, 23,4) 4时间复杂度为O(1)传入参数为数组时时间复杂度为O(n)n为数组大小。minmax函数是在取最值操作时最常用的操作。 三、min_element和max_element min_element 和 max_element 头文件#includealgorithm 作用返回容器中最小值和最大值的指针。max_element(first,end,cmp);其中cmp为可选择参数! min_element(st,ed)返回地址[st,ed)中最小的那个值的下标(选代器)传入参数为两个地址或迭代器。max_element(st,ed)返回地址[st,ed)中最大的那个值的下标 (选代器)传入参数为两个地址或迭代器。时间复杂度均为O(n)n为数组大小(由传入的参数决定)。 int main() {//初始化vectorintv { 5,1,3,9,11 };// [ )//输出最大的元素*表示解引用即通过地址迭代器得到值cout *max_element(v.begin(), v.end()) \n;} 497蓝桥题 —— 成绩分析 用户登录 #include bits/stdc.h using namespace std; const int N 1e4 9; int a[N]; int main() // 主函数 { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); // 加速输入输出流 int n; cin n; for (int i 1; i n; i) cin a[i]; int mx a[1], mi a[1]; // 初始化最大值mx和最小值mi为数组的第一个元素a[1] for (int i 1; i n; i) // 遍历数组a中的所有元素 { mx max(mx, a[i]); // 更新最大值mx mi min(mi, a[i]); // 更新最小值mi } cout mx \n mi \n; // 输出最大值和最小值每个值后面跟一个换行符 long long sum 0; // 定义一个长整型变量sum用于存储数组a中所有元素的总和 for (int i 1; i n; i) sum a[i]; // 遍历数组a计算所有元素的总和 cout fixed setprecision(2) 1.0 * sum / n \n; // 输出平均值保留两位小数 // 注意这里使用1.0 * sum将sum转换为浮点数以确保进行浮点数除法 return 0; // 程序执行成功返回0 } 四、nth_element nth_element()进行部分排序返回值为void()传入参数为三个地址或迭代器。其中第二个参数位置的元素将处于正确位置其他位置元素的顺序可能是任意的但前面的都比它小后面的都比它大nth_element()是c的STL库中的函数作用是将数组中第k小的整数放在区间第k个位置比如vectorint nums {9, 7, 5, 11, 12, 2, 14, 3, 10, 6};nth_element 会重新排列序列使得第5小的元素位于正确的位置索引为4的位置且该元素之前的所有元素都不大于它之后的元素都不小于它。使用一次nth_element()的时间复杂度为O ( n )。 int main() {// 初始化一个包含7个整数的vector vectorint v { 5,1,7,3,10,18,9 };// 使用nth_element进行部分排序 // 将v中的元素重新排列使得v[3]位置上的元素位于排序后应在的位置 // v[0]到v[2]的元素都不大于v[3]v[4]到v[6]的元素都不小于v[3] nth_element(v.begin(), v.begin() 3, v.end());// 输出vector中的元素 for (auto i : v)cout i ; // 注意这里应该使用 空格而不是\n换行符 return 0; } 今天就先到这了 看到这里了还不给博主扣个 ⛳️ 点赞☀️收藏 ⭐️ 关注 你们的点赞就是博主更新最大的动力 有问题可以评论或者私信呢秒回哦。
http://www.zqtcl.cn/news/412679/

相关文章:

  • 无锡网站制作建设wordpress写文章模板
  • 企业网站销售提升学历要多少钱
  • 打开建设银行官方网站首页wordpress 站库分离
  • 电子商务网站建设的试卷设计之家app
  • 抚养网站建设黔东南小程序开发公司
  • 网站建设相关行业有哪些wordpress 内容管理系统
  • 网站 备案地温州网站优化排名推广
  • 做网站的工作量国内 wordpress
  • 定制网站开发是什么大业推广网站
  • 网站建设每年需要交多少钱天津制作网站公司
  • 网站平台都有哪些wordpress 主题制作 视频
  • 中山网站建设方案家具网站开发目的
  • 教师个人网站建设建模培训多少钱
  • 个人网站可以做社交类型网站建设功能说明书
  • 微站是什么移动网站 拉新
  • 黑龙江省农业网站建设情况wordpress4.94主题上传不显示
  • 个人网站的域名重庆建立公司网站
  • 什么做网站做个多少钱啊百度网盘app
  • 做网站的公司挣钱吗石家庄房产
  • 烟台网站建设设计公司安徽建设工程信息网查询平台蔡庆树
  • 微信链接的微网站怎么做西安企业网站制作价格
  • uniapp怎么做淘客网站表格布局的网站
  • wordpress侧栏图片插件提升seo搜索排名
  • 如何查询网站的域名注册邹城建设银行网站
  • 招生门户网站建设方案国家企业信用信息公示信息查询网
  • 用dw做淘客网站的步骤移动互联网应用技术
  • 企业合作的响应式网站石家庄网站建设推广
  • 成都网站排名优化开发广告传媒公司简介模板
  • 中山网站建设企业网站内容建设
  • 免费网站建站页面wordpress的主题在哪个文件夹