自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基数排序

基数排序思路:类似于快速转置的快速定位方法,利用上一个的开始位置和个数进行计算下一个的位置。利用额外空间进行排序。//基数排序//LSD-- Least Significant Digit firstint GetMaxDigit(int* a, int size){ int Digit = 1; int max = 10; for (int i = 0;

2016-05-25 23:07:35 204

原创 Linux下vim简单配置

配置文件的位置在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root⽬目录下,通常已经存在一个.vimrc文件。1.在网上根据自己的需求找到相关配置信息2.安装Taglist插件链接:http

2016-05-25 13:11:09 243

原创 记数排序

记数排序思路:首先遍历一遍,找到最大和最小的数,利用最大和最小开辟空间,记为tmp.然后统计各个数字出现的次数,利用出现的次数,遍历tmp,根据出现的次数,重新写入数组a中//计数排序void CountSort(int* a, int size){ assert(a); int max = a[0]; int min = a[0]; for (int i =

2016-05-24 23:48:31 247

转载 《More Effective C++》条款27:如何让类对象只在栈(堆)上分配空间?

昨天一个同学去网易面试C++研发,问到了这么一个问题:如何限制一个类对象只在栈(堆)上分配空间?一般情况下,编写一个类,是可以在栈或者堆分配空间。但有些时候,你想编写一个只能在栈或者只能在堆上面分配空间的类。这能不能实现呢?仔细想想,其实也是可以滴。在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。

2016-05-23 10:03:14 296

原创 Linux下find命令

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了很多的查找条件,功能非常强大。1.命令格式:find pathname -options [-print -exec -ok ...]2.命令功能:用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)3.命令参数:pathname: find命令所查找的

2016-05-20 12:07:57 345

原创 用来两个栈实现一个队列。

题目:用来两个栈实现一个队列。#includetemplate class CQueue{public: void AppendTail(const T& Node) { _s1.push( Node); } void DeleteHe

2016-05-13 18:16:54 185

原创 重建二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树,假设输入的前序遍历和中序遍历的结果中都不含重复的数字,例如输入前序遍历{ 1,2, 4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}则重建出图2.6所示的二叉树并输出它的头结点。#pragma once#includestruct BTNode{ int valu

2016-05-13 13:48:36 171

原创 PAT乙级1012-D进制的A+B (20)

    //D进制的A+B (20)#include<iostream>#include<stdlib.h>#include<string>using namespace std;string conversion_number(int sum, int D ){ string str = "" ; //用s...

2016-05-11 14:37:40 221

原创 输入一个链表的头结点,从尾到头反过来打印出每个节点的值。

题目:输入一个链表的头结点,从尾到头反过来打印出每个节点的值。利用栈的性质。void PrintList(SListNode * &ppHead){ std:: stack Nodes; SListNode* cur = ppHead ; while (cur) {

2016-05-11 13:26:06 502

原创 快速排序

//快速排序#includeusing namespace std;void qsort(int *array, int len){ int value, start, end; if (len <= 1) //边界条件 return; value = array[0]; // start = 0; end = len - 1; while (start < e

2016-05-11 11:40:54 237

原创 Linux基础

存储器是指内存CPU读取的数据都是从内存中来的,CPU处理完成的数据,必须要先写回内存,最后数据才从内存传输到输出单元。环境变量:(全部大写)  多用户操作系统,每个用户登陆后都有自己的专有环境。环境变量有一组变量组成。shell: 命令行解释器,bash是其中的一种常见的环境变量:1.PATH  echo  $PATH目录结构:多叉树    / 根

2016-05-11 00:03:11 2183

原创 《C++primer》读书笔记四

模板参数的名字,在它被声明为模板参数后,一直到模板声明或定义的结束,都可以被使用,如果在全局域中声明了与模板参数同名的变量,则该变量被隐藏。typedefdouble Type;templateclasstype>classQueue{public:          //...private:          Type ite

2016-05-10 23:51:00 219

原创 请实现一个函数,把字符串中的每个空格换成20%

#include#include#includevoid ReplaceBlank(char arr[]){ int len = strlen(arr); if (arr == NULL&&len <= 0) //临界条件 return; int BlankCount = 0; for (int i = 0; i < len; i++) { if (arr[i]

2016-05-10 17:44:51 686

原创 折半查找

//折半查找#includeint binsearch(int arr[], int n , int x ){ int left = 0; int right = n - 1; while (left <= right) { int mid = left - (le

2016-05-09 22:21:19 295

原创 练习n的阶乘

//练习n的阶乘#includeint main(){ int n = 0; scanf( "%d", &n); int sum = 1; for (int i = 1; i <= n; i++) { sum *= i; }

2016-05-09 22:19:26 825

原创 编写程序计算1到100中所有整数出现9的次数

//编写程序计算1到100中所有整数出现9的次数#include#includeint main(){ int count = 0; for (int i = 1; i <= 100; i++) { if (i % 10 == 9) { ++count; } if (i / 10 == 9) { ++count; } } printf("%d

2016-05-06 10:00:42 930

原创 计算 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值

//计算 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值#include#includeint main(){ int den = 1; //分母 double member = 1.0; //分子 double sum = 0.0; int flag = 1; for (int i = 0; i <

2016-05-06 09:54:23 1029

原创 输出一个整数val的每一位

//输出一个整数val的每一位#includeusing namespace std;int main(){ int val = 0; printf( "请输入一个整数" ); scanf( "%d", &val); while (val) { pr

2016-05-06 09:19:21 326

原创 写一个函数,返回二进制中1的个数

//写一个函数,返回二进制中1的个数#include#includeint count_one_bit(unsigned int i){ int count = 0; while (i) { ++count; i = i >> 1; } return count;}int main(){ int ret=count_one_bit(15); printf("%d

2016-05-05 11:49:47 227

原创 求10个数中的最大值

//求10个数中的最大值#include#includeint main(){ int array[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int i = 0; i < (sizeof(array) / sizeof(array[0])); i++) { if (array[i]>array[0]) { int tmp

2016-05-05 11:21:21 403

原创 [C语言]不允许创建临时变量,交换两个变量的内容

//不允许创建临时变量,交换两个变量的内容#include#includevoid my_swap(int *a, int *b){ *a = *a + *b; *b = *a - *b; *a = *a - *b;}int main(){ int a = 10; int b = 20; my_swap(&a, &b); printf("%d %d", a, b);

2016-05-05 09:51:59 345

原创 优先级队列

#include #include//仿函数比较小templatestruct Less{ bool operator() (const T& l, const T& r) { return l < r; }};//仿函数比较大templatestruct Greater{ bool operator() (const T& l, const T& r) {

2016-05-04 23:48:51 198

原创 判断1000年-2000年之间的闰年

//判断1000年-2000年之间的闰年#includeint main(){ int count = 0; for (int year= 1000; year <= 2000; year++) {//四年一闰,百年不闰,400年一闰 if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { print

2016-05-04 18:24:37 282

原创 输出乘法口诀表

//输出乘法口诀表#includeint main(){ for (int i = 1; i < 10; i++) //1-10左闭右开 { for (int j = 1; j <= i; j++) //j<=i 因为有1*1 2*2.. 9*9 { printf("%d*%d=%d ", j, i, i*j); //先输出j,因为乘法口诀表小的在前面 } pri

2016-05-04 18:11:12 632

原创 打印100~200 之间的素数

#include#includeint main(){ for (int i = 100; i <= 200; i++) { for (int j = 2; j < sqrt(i); j++) { if (i%j != 0) { printf("%d\n", i); break; } else { break; }

2016-05-04 17:25:42 202

原创 PAT乙级1011-个位数统计

    题目描述给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0&lt;=di&lt;=9, i=0,...,k-1, dk-1&gt;0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。 输入描述: 每个输入包含1个测试用例,即一个不超过1000位的正整...

2016-05-04 10:14:05 483

原创 《剑指offer》面试3:二维数组查找(杨氏矩阵查找)

题目:在一个二维数组中,行从左到右递增,列从上到下递增。请完成一个函数进行查找#define _CRT_SECURE_NO_WARNINGS 1#includeusing namespace std;bool find(int *array, int rows, int columns, int goal){ bool foun

2016-05-03 17:48:45 249

转载 new和malloc的区别

来源:melonstreet链接:http://www.cnblogs.com/QG-whz/p/5140930.html前言几个星期前去面试C++研发的实习岗位,面试官问了个问题:new与malloc有什么区别?这是个老生常谈的问题。当时我回答new从自由存储区上分配内存,malloc从堆

2016-05-02 11:57:57 312

原创 《剑指offer》 02 单例模式

题目:设计一个类,我们只能生成该类的一个实例。不好的解法一:只适用于单线程环境。思路:将构造函数设置为私有,利用静态指针,如果指针为空(是否为第一次),就创造。class CSingleton{private: CSingleton() //构造函数是私有的 {} static CSingleton *m

2016-05-02 11:50:27 198

原创 《剑指offer》01 赋值运算符函数

sizeof(一个空类)为什么不是0?答:空类型的实例不包含任何信息,本应该是0,但是当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例。调用构造函数和析构函数秩序要知道函数的地址,这些函数的地址只与类型相关,而与类型的实例无关。如果把析构函数标记为虚函数呢?答:会生成虚函数表,并在该类型的每个实例中添加一个指向该虚函数表的指针。32位,4字节 64位

2016-05-01 15:48:28 256

原创 判断单链表是否带环,若带环,求环的长度,求环的入口点

思路:快慢指针思想//判断单链表是否带环SListNode* CheckCycle(SListNode* pHead){ SListNode* fast = pHead; SListNode* slow = pHead; while(fast&&fast->next)//快指针走两步,慢指针走一步,如果在同一个环中,一定相遇 { fast = f

2016-05-01 10:12:10 423

空空如也

空空如也

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

TA关注的人

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