自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 在有序矩阵中找特定元素

#include<iostream>#define MAXROW 4#define MAXCOL 4using namespace std;//在行列都排好序的矩阵中找数//一般从右上角开始,如果角点比目标数小,那么划去一行,如果比目标数大,划去一列//划去一行bool findNumber(int m[][MAXCOL], int row, int col, int ...

2018-07-09 10:34:58 433

原创 C++ 打印之字形矩阵

#include<iostream>#define MAXROW 3#define MAXCOL 4using namespace std;//打印之字形矩阵//压中的点是每条对角线最右上的点(tR,tC)和最左下(dR,dC)的点//右上点的移动逻辑:每次往左移动,移动不了了往下移动//左下点的移动逻辑:每次往下移动,移动不了了往右移动void printDiag...

2018-07-03 22:08:44 1521

原创 C++ 蛇形矩阵

#include<iostream>#define MAXROW 4#define MAXCOL 4using namespace std;//转圈打印矩阵//注意矩阵形状:1、行向量 2、列向量 3、普通矩阵void printEdge(int m[][MAXCOL],int tR,int tC,int dR, int dC){ //如果是行向量 if(tR...

2018-07-03 20:30:09 1779

原创 c++——猫狗队列

#include<iostream>#include<string>#include<queue>#include<stdexcept>//标准异常库using namespace std;//猫狗队列//在C++中,类是不能加权限修饰符的,只有类的成员或者继承的时候才能加。//这里是public继承,意思是Pet中所有的访问权限在Do...

2018-07-02 17:51:42 1122

原创 C++只用队列实现栈

#include<iostream>#include<stack>using namespace std;#define NUM 5//仅用栈实现一个队列结构class MyQueue{private: stack<int> *stackk,*help;public: MyQueue(); ~MyQueue(); void push(i...

2018-06-18 21:30:24 541 1

原创 C++只使用队列实现栈

#include<iostream>#include<queue>using namespace std;#define NUM 5//仅用队列实现一个栈结构class MyStack{private: queue<int> *q1,*q2;public: MyStack(); ~MyStack(); void rotation(); ...

2018-06-18 20:31:46 526

原创 返回栈中的最小元素

实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。要求:1、pop、push、getMin操作的时间复杂度都是o(1)。2、设计的栈类型可以使用现成的栈结构。#include<iostream>#include<stack>using namespace std;class MyStack{private: stack<int&...

2018-06-17 16:18:30 389

原创 C++用数组实现一个固定大小的栈/队列

#include<iostream>#include<exception>using namespace std;#define NUM 5//用数组结构实现大小固定的队列和栈class ArrayIndexOutOfBoundsException:public exception{private: const char*ptr;public: Arra...

2018-06-15 20:54:22 2192

原创 桶排序

#include<iostream>#include<cstdlib>using namespace std;#define N 15//桶排序void swap(int *a,int j,int i){ int buf=a[j]; a[j] = a[i]; a[i] = buf; }void printArray(int *a,int len){...

2018-06-13 17:12:19 99

原创 堆排序

#include<iostream>#include<cstdlib>using namespace std;#define N 5void swap(int *a,int j,int i){    int buf=a[j];    a[j] = a[i];    a[i] = buf;    }void printArray(int *a,int len){    for...

2018-06-11 15:23:11 98

原创 随机快速排序

#include<iostream>#include<cstdlib>using namespace std;#define N 15void printArray(int *a,int len){ for(int i=0;i<len;i++) cout<<a[i]<<" "; cout<<endl;}v..

2018-06-09 21:25:47 198

原创 荷兰国旗问题

#include<iostream>#include<vector>using namespace std;#define N 10//荷兰国旗问题:现有红、白、蓝三个不同颜色的小球,乱序排列在一起,请重新排列这些小球,使得红白蓝三色的同颜色的球在一起。//问题转换,给定数组A[0...N-1],元素只能取0,1,2三个值,设定算法使得所有的0在左边,所有的1在中...

2018-06-09 20:56:12 181

原创 归并排序应用之逆序对

什么是逆序对?数组中任意两个元素组合是降序排列的,以下给出了暴力求解法和归并求解法。#include<iostream>using namespace std;#define N 12//逆序对:其实就是求每个数右边有多少个数比其小//暴力求解法int VolentReversePair(int *a,int length){ int cnt=0; for(int i=...

2018-06-08 18:29:13 257

原创 归并排序应用之小和问题

小和问题:Q1、什么是小和?A:在一个数列中,任意元素p左边所有比p小的数之和,即为小和。Q2:什么是小和问题?A: 数列中所有元素的小和之和就是小和问题利用归并排序求解思想:从第一个元素p起向后看,如果有n个元素都比p大,说明n个元素的小和中都有p,因此,第一个元素对小和的贡献是n*p,遍历完整个数组后,就可以求出全部小和了。给出了暴力求解法和归并求解法,二者结果相同。#include<i...

2018-06-08 17:56:26 712

原创 三大排序之归并排序

归并排序的思想集中体现在:归和并上。归是指使用递归(分治)的思想,并是指分到最小单元的时候,开始合并。废话不多说,直接贴代码,有问题欢迎评论讨论。代码如下,经验证和冒泡排序结果一致。#include<iostream>using namespace std;#define N 12//并void Merge(int *a,int left,int middle,int righ...

2018-06-08 16:28:57 137

原创 三种基本排序:冒泡排序、选择排序、插入排序

第一次写博客,如果有错误,欢迎大家指出,谢谢。1、插入排序:假设数组的长度为N。Step1:首先在0~N-1的位置上找最小的元素,将最小的元素与0位置的元素交换。Step2:然后在1~N-1的位置上找最小的元素,将最小的元素与1位置的元素交换。......StepN:区间变为1个元素,结束。插入排序的实质就是,不停的遍历,依次将最小的元素放在区间开头,然后不停的向后缩小区间。2、冒泡排序:假设数组...

2018-06-07 20:22:28 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除