
排序算法
8yyy
这个作者很懒,什么都没留下…
展开
-
冒泡排序
#include<bits/stdc++.h> using namespace std; const int n=10; int main(){ //初始化数组 int a[n]={1,3,45,90,8,5,5,6,2,33}; //输出原数组 for(int i=0;i<n;i++){ cout<<a[i]<<" "; } cout<<endl; //进行冒泡排序 for(int i=0;i<n-2;i++)原创 2021-04-20 20:50:27 · 86 阅读 · 0 评论 -
选择排序及简单优化
正常选择排序 从待排序的数组中,找到下标最小的元素 k=i 从i+1开始找,找到比它大的数 k=j 交换下标为i和下标为k的数 #include<bits/stdc++.h> using namespace std; const int n=10; int main(){ //初始化数组 int a[n]={1,3,45,90,8,5,5,6,2,33}; //输出原数组 for(int i=0;i<n;i++){ cout<<a[i]<<"原创 2021-04-20 19:52:43 · 119 阅读 · 0 评论 -
逆序对(归并算法)
#include<bits/stdc++.h> using namespace std; long long ans=0; int a[1000000]; int temp[1000000]; void merge(int a[],int begin,int mid,int end,int temp[]){ int i=begin; int j=mid+1; int t=begin; while(i<=mid && j<=end){ if(a[i] &原创 2021-04-17 21:25:32 · 114 阅读 · 0 评论 -
1179:奖学金
#include<bits/stdc++.h> using namespace std; const int MAXN=301; int n; struct score{ int Chinese; int Math; int English; int total; int id; }stu[MAXN]; int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>stu[i].Chinese>>st原创 2021-04-15 20:34:13 · 292 阅读 · 0 评论 -
1178:成绩排序
如果有相同分数则名字字典序小的在前 可使用strcmp函数 #include<bits/stdc++.h> using namespace std; const int N=21; struct score{ char name[N]; int score; }stu[N]; int main(){ int n; cin>>n; for(int i=0;i<n;i++){ cin>>stu[i].name>>stu[i].scor.原创 2021-04-15 20:18:50 · 737 阅读 · 0 评论