首页 > 其他分享 >暑假第四天

暑假第四天

时间:2024-07-06 14:08:14浏览次数:8  
标签:MSort int mid high ++ low 暑假 第四天

7月5日

今天完成了二路归并排序,下面是我的源代码

#include<iostream>
using namespace std;

int n;
int* a; // 定义为指针,用于动态分配内存
void Merge(int a[], int t[], int low, int mid, int high) {
int i = low, j = mid + 1, k = low;
while (i <= mid && j <= high) {
if (a[i] < a[j])
t[k++] = a[i++];
else
t[k++] = a[j++];
}
while (i <= mid)
t[k++] = a[i++];
while (j <= high)
t[k++] = a[j++];

for (int idx = low; idx <= high; ++idx) {
a[idx] = t[idx];
}
}

void prints(int s[], int n) {
for (int t = 0; t < n; ++t) {
cout << s[t];
if (t == n - 1) {
cout << endl;
}
else {
cout << " ";
}
}
}

void MSort(int a[], int t[], int low, int high) {
if (low < high) {
int mid = (low + high) / 2;
MSort(a, t, low, mid);
MSort(a, t, mid + 1, high);
Merge(a, t, low, mid, high);
prints(a, n);
}
}

int main() {
while (cin >> n) {
a = new int[n]; // 动态分配内存

for (int i = 0; i < n; ++i) {
cin >> a[i];
}

int* t = new int[n]; // 动态分配内存

MSort(a, t, 0, n - 1);

delete[] a; // 释放动态分配的内存
delete[] t; // 释放动态分配的内存
}
return 0;
}

标签:MSort,int,mid,high,++,low,暑假,第四天
From: https://www.cnblogs.com/hlhl/p/18287207

相关文章

  • 暑假集训第五天
    并查集/最小生成树/Kruskal重构树专题TwoFamousCompanieshttps://www.luogu.com.cn/problem/solution/SP11579如果白边整体权值太小,我们就把所有白边的权值加上一个正值,让整体权值变大。反之,白边整体权值过大,我们就把所有白边的权值加上一个负值。让整体权值变小。我们把......
  • 「代码随想录算法训练营」第四天 | 链表 part2
    24.两两交换链表中的节点题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/题目难度:中等文章讲解:https://programmercarl.com/0024.两两交换链表中的节点.html#算法公开课视频讲解:https://www.bilibili.com/video/BV1YT411g7br题目状态:有思路,但细节缺乏考虑个......
  • 第三周第四天
    今天依旧是按照计划看视频!主要学习的内容是通过手机,微信,QQ等方式发送验证码,进行页面登陆,并且让其中的一些数据与后端连接。总体来说有点蒙圈,看不懂,希望通过之后的实战练习可以巩固一下。其中运用的很多程序语言有点难以理解,感觉如果上手的话!依旧仅限于复制粘贴。看不懂某些逻辑语......
  • 暑假集训学习笔记(4):lxl DS Day 4
    倍增值域分块CF702FT-Shirts考虑将\(q_i\)从大到小排序,将\(a_i\)从小到大排序,并维护一个\(b_i\)数组表示答案,我们遍历\(q_j\)数组,每次是将\(a_i\)数组中\(a_i\geqc_j\)的全部减\(c_i\),然后\(b_i\)加1。考虑用平衡树维护\(a_i\),split一下,右区间树......
  • 暑假集训学习笔记(3):lxl DS Day 3
    区间最值操作CF1572F首先广播站\(i\),能覆盖到的肯定是相对于\(i\)的前缀,我们可以维护一个\(r_i\),表示每个\(i\)可以覆盖到的右端点,然后我们考虑segmentbeats,考虑\(max\)变为\(v\)时,我们维护最大值有多少个,然后对应的\(b\)数组的\([v+1,max]\)位置就区......
  • 暑假第一天
    今天下午下学期,我完成了普利姆算法的编写,以下是我的源代码#include<iostream>#defineMVNum10#defineMaxInt32767usingnamespacestd;structedge{charadjvex;intlowcost;}closedge[MVNum];typedefstruct{charvexs[MVNum];intarcs[MVNum][MVNum......
  • 给暑假加个ddl 不要再慢慢油油啦!
    其实是暑假规划及详细ddl及实际完成情况的记录。算法刷题(速度刷题)(多刷多思考)(别想太慢)打比赛(有则打之)(及时补题)ddl刷完算法基础课和提高课加油Javajava的预习希望可以尽量预习多一点,但不要像寒假那样只是入门一点点背单词把六级的英语单词背完吧(要的所以闲暇的化可......
  • 24暑假赛训合集
    谢谢,你关注的鸽子博主更新了。上赛季末段没能忍住网瘾,转生成ACMer了和队友一起拿了块邀请赛金牌和省赛冠军,下半年区域赛不想拖后腿所以还是得努努力啊。但是因为博主还要跑科研实验以及机器人比赛的事情,所以大概一天只能看几个题下列列出的√为自己想出来的,×为看了题......
  • 暑假集训
    6.27复活赛打赢了,STA_Morlin返场!!1从jijidawang那里要了洛天依的遗物。(请提醒我补图。)收拾宿舍的时候发现忘带枕头和被子了(和xrlong,master,Charlie在一个宿舍。jijidawang又是跑到APJ那边去了。据filed说我们将要搬到HZ本部。filed还说了下作息时间表,wkh说要打印......
  • zhe_暑假生活_2024
    自学   英语      每天英语单词5个记录、5个就单词朗读      初中英语阅读与完形      初中英语语法与词汇      新概念英语      六下_培优   语文      每天摘抄优秀作文      古诗视频      西游记......