c++
周游拾光
这个作者很懒,什么都没留下…
展开
-
排序算法——归并排序(非递归)
归并排序的非递归实现是直接从最低下开始合并,从子序列长度为1的合并成子序列长度为2的,然后再将子序列长度为2的两个子序列合并成长度为4的,直到合并完,相信大家并不陌生,原理很简单。#include<iostream>#include<stdlib.h> using namespace std;void Merge(int* a, int* b, int s, int m, int n){// 合并 把有序的 a[s...m]和 a[m+1...n]合并到b[s...m]原创 2021-01-04 21:04:11 · 524 阅读 · 1 评论 -
排序算法——冒泡排序、简单选择排序
冒泡排序实际上是一种交换排序,它的核心思想就是对相邻的记录两两比较,逆序交换,直到没有逆序 。简单插入排序算法主要思想是每次在剩余子序列中找到最小值并放到该子序列的第一个位置。#include<iostream>using namespace std;void swap(int* a, int* b){ int temp; temp = *a; *a = *b; *b = temp;}void SelectSort(int* a, int length)// 简单选择排.原创 2020-12-28 20:56:26 · 169 阅读 · 0 评论 -
分蛋糕
时间限制: 1.0s内存限制: 256.0MB问题描述: 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完原创 2017-11-10 21:24:39 · 365 阅读 · 0 评论 -
最大波动
问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整数,依次表示每天的收盘价格。输出格式 输出一个整数,表示这只股票这n天中的最大波原创 2017-11-28 20:23:44 · 329 阅读 · 0 评论 -
ISBN号码
ISBN号码时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例原创 2017-12-06 17:24:22 · 285 阅读 · 0 评论 -
数字反转
问题描述:给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2) 。Input输入共 1 行,一个整数 N。Output输出共 1 行,一个整数,表示反转后的新数。Sample Input样例 #1:123样例 #2:-380Sample Output样例 #1:321样例 #2:-83Hint...原创 2018-03-10 20:10:02 · 867 阅读 · 0 评论