博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构练习:自写的想法写归并排序 2020.11.20
阅读量:3807 次
发布时间:2019-05-22

本文共 957 字,大约阅读时间需要 3 分钟。

#include 
#include
using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */void merge_short(vector
&q,int l,int r);void merge_short(vector
&q,int l,int r) {
int mid=(l+r)/2; if(l==r) return; int left=l,right=r,i,r2=mid+1; merge_short(q,l,mid); merge_short(q,mid+1,r); static vector
w; w.clear(); //将较小的数据存放在临时数组中 while(l<=mid&&r2<=r) {
if(q[l]<=q[r2]) {
w.push_back(q[l++]); } else {
w.push_back(q[r2++]); } } while(l<=mid)w.push_back(q[l++]);//将l到r的剩余数据存储到w中 while(r2<=r)w.push_back(q[r2++]); for(i=left;i<=mid;i++)//将w中排好序的数据填充到原数组中 {
q[i]=w[i-left]; } for(int j=mid+1;j<=right;j++,i++) {
q[j]=w[i-left]; } return;}int main(int argc, char** argv) {
vector
a; int i=0,n; cin>>n; for(i=0;i
>b; a.push_back(b); } merge_short(a,0,a.size()-1); for(i=0;i

转载地址:http://ohxxn.baihongyu.com/

你可能感兴趣的文章
Java基础第3讲:运算符
查看>>
Java基础第4讲:逻辑控制语句
查看>>
Java基础第5讲:循环控制语句
查看>>
Java基础第9讲:面向对象之继承
查看>>
Python语法第4讲:字符串及常用函数
查看>>
组个最小数
查看>>
锤子剪刀布
查看>>
个位数统计
查看>>
Python中保留两位小数的几种方法
查看>>
分糖果
查看>>
和为s的连续正数序列
查看>>
Z字形变换
查看>>
Python-----队列
查看>>
四数之和
查看>>
考研复试【操作系统——算法总结】
查看>>
考研复试【操作系统——死锁】
查看>>
考研复试【拥塞控制与流量控制】
查看>>
考研复试【排序算法总结】
查看>>
Python----成员与方法
查看>>
课程表 II——拓扑排序
查看>>