数据结构_排序
never give-up
代码从入门到放弃
展开
-
折半插入排序
题目 1715: 算法10-2:折半插入排序 #include<iostream> using namespace std; int main() { int n; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]; int i=1; for(i=1;i<n;i++){ int t=a[i],low=0,high=i-1; while(low<=high){ int mid=(原创 2021-01-18 21:58:49 · 70 阅读 · 0 评论 -
直接插入排序
插入排序:左边有序区,右边无序区原创 2021-01-18 21:40:07 · 46 阅读 · 0 评论 -
选择排序(简单)
注意if(k!=i)放在循环外 P1716 双调序列 #include<iostream> using namespace std; int main() { int n; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]; int i=0; for(i=0;i<n-1;i++){ int k=i; for(int j=i+1;j<n;j++) if(a[j]>a[k])原创 2021-01-18 20:18:23 · 143 阅读 · 0 评论 -
冒泡排序(优化算法)
P1116 车厢重组 #include<iostream> using namespace std; int main(){ int n; cin>>n; int a[n]; for(int i=0;i<n;i++){ int tmp; cin>>tmp; a[i]=tmp; } int step=0;//记录交换次数 int i=1; bool flag=true; while(flag){ flag=false; for(int原创 2021-01-17 00:34:00 · 164 阅读 · 0 评论