算法设计与分析 上机题Mergesort
#include <iostream>
using namespace std;
#define N 100
int g_array[N]; //存放输入的数字
static int count; //存放元素的个数
// 初始化函数
void Initial()
{
cout << "请输入元素的个数:";
cin >> count;
cout << "请输入" << count << "个元素:";
for(int i = 0; i < count; i ++)
{
cin >> g_array[i];
}
}
//合并函数
void Merge(int a[], int l, int m, int r)
{
int i = l, j = m+1, k = l;
int b[N];
while(i <= m && j <= r)
{
if(a[i] <= a[j])
{
b[k++] = a[i++];
}
else
{
b[k++] = a[j++];
}
}
if(i > m)
{
for(int p = j; p <= r; p ++)
{
b[k++] = a[p];
}
}
else
{
for(int p = i; p <= m; p ++)
{
b[k++] = a[p];
}
}
//把b[]中排好的元素copy到a[]中
for(int q = l; q <= r; q ++)
{
a[q] = b[q];
}
}
// 归并排序 递归算法表示
void Bottomupsort(int a[], int left, int right)
{
if(left < right) //数组至少要有两个元素
{
int i = (right + left)/2;
Bottomupsort(a, left, i);
Bottomupsort(a, i+1, right);
Merge(a, left, i, right); //把left到right的元素排序好
}
}
//打印排好序的数组
void Print()
{
cout << "经过Bottomupsort后:";
for(int i = 0; i < count; i ++)
{
cout << g_array[i] << " ";
}
cout << endl;
}
int main()
{
Initial();
if(count > 1)
{
Bottomupsort(g_array, 0, count-1);
Print();
}
else if(count == 1)
{
Print();
}
system("pause");
return 0;
}
转载于:https://www.cnblogs.com/loveincode/p/4496647.html
算法设计与分析 上机题Mergesort相关推荐
- Contest3032 - 计科2101~2104算法设计与分析上机作业03
目录 问题 A: 质数 问题 B: 分治法求解全排列问题 问题 C: 数的计数 问题 D: 最大公共子序列问题 问题 E: 分解式的个数 问题 F: 矩阵最优连乘问题 问题 A: 质数 题目描述 判断 ...
- 《算法设计与分析(第4版)》课后习题第二章第2小题
<算法设计与分析(第4版)>课后习题第二章第2小题 下面的7个算法与本章中的二分搜索算法binarySearch略有不同.请判断这7个算法的正确性,并说明原因和证明. 第二章二分搜索算法b ...
- 【算法设计与分析】经典常考三十三道例题AC代码
❥小虾目前大三,我校在大一下开设<数据结构>这门课,大二上开了<算法设计与分析>这门课,很庆幸这两门课的上机考试总成绩一门100,一门99,最后总分也都90+.下文会给出机试的 ...
- 循环赛日程表非递归Java_王晓东《算法设计与分析》课件.ppt
<王晓东<算法设计与分析>课件.ppt>由会员分享,可在线阅读,更多相关<王晓东<算法设计与分析>课件.ppt(356页珍藏版)>请在人人文库网上搜索. ...
- 程振波 算法设计与分析_算法设计与分析
本书按照教育部*制定的计算机科学与技术专业规范的教学大纲编写,努力与国际计算机学科的教学要求接轨.强调 算法 与 数据结构 之间密不可分的联系,因而强调融数据类型与定义在该类型上的运算于一体的抽象数据 ...
- 【图的着色问题】算法设计与分析实验1
计算机科学与工程学院实验报告 课程名称 算法设计与分析 班级 实验内容 实验1:图的着色问题 指导教师 姓名 重剑DS 学号 实验日期 2022.04.28 一.问题描述,含输入.输出数据内容.格式 ...
- 计算机算法设计与分析教学大纲,算法设计与分析的教与学(教学大纲)
原标题:算法设计与分析的教与学(教学大纲) 课程代码:**** 课程负责人: **** 课程中文名称:算法设计与分析 课程英文名称:Designand Analysis of Algorithms 课 ...
- 算法设计与分析——分治法
主要思想 (其实有这个思想也想不出来): 1.划分:整个问题划分成多个子问题 2.求解:求解各子问题的解 3.合并:合并子问题的解 (手说:"我会了",脑子:"不会&qu ...
- 算法设计与分析 课程设计之N皇后问题
题目 N皇后回溯法求解空间 目的要求 目的: 1.用学到的书本知识解决实际问题的能力: 2.锻炼实际工作所需要的动手能力: 3.加强对数据结构和算法的应用: 4.锻炼自己以科学理论和工程上能力的技术, ...
最新文章
- [case19]聊聊eureka的TaskDispatcher
- C语言 | 哈夫曼(haffman)算法实现数据的解压缩(源代码)
- Flink 1.11 SQL 十余项革新大揭秘,哪些演变在便捷你的使用体验?
- MySQL 过滤重复数据
- win10安装pytorch很慢,如何解决?
- mysql导入的sql文件导入到哪里了_mysql导入导出sql文件
- Python Day 19 面向对象(初识面向对象)
- Ubuntu/Linux备份/还原系统
- AceAdmin In MVC之控件
- SQLServer 启动问题,服务器错误代码126 解决办法
- php 模拟提交金数据,小程序提交表单到金数据实例
- APS高级计划排程系统的基本原理和排程步骤
- 用Cython加密Python代码这么简单
- 最简单实用的网易云爬虫!cloudmusic库带你起飞,歌曲、用户、评论信手捏来
- 2018传智黑马前端视频教程36期视频与源码完整版
- github博客Hexo引流到微信
- MOSFET反向恢复特性总结-4
- mongodb重置密码
- ibm服务器做系统按f几,台式机华硕主板u盘启动按f几(启动u盘的快捷键介绍)...
- 只需这10招,强壮骨骼到老非你莫属
热门文章
- JDBC ResultSet 可更新的结果集
- KVO 实现两个页面之间的通信
- 第二十六讲:tapestry的树状(tree)组件
- Exchange系列—群集连续复制配置
- Php global echo,php中global和$GLOBALS[]的分析之一
- 实现ip数据包抓取并分析_一些网站https证书出现问题的情况分析
- tum数据集_数值预报尚能战否?来自数据驱动的挑战
- tp5 database.php,Tp5项目修改数据库
- android+sim卡短信,android 信息(mms)开发(七)-- sim卡短信
- linux定时器跑命令,linux下运行定时器(cron/centos/js脚本)