C/C++
两鬓已不能斑白
这个作者很懒,什么都没留下…
展开
-
C++ 整数与字符串相互转化
一. 整数转化为字符串方法1:用itoa(实战时常用)#include <iostream>#include <stdlib.h>using namespace std;int main() { // 整数转字符串 int num = 6; char string[7]; // itoa()函数有3个参数:源字符串、目标字符串、进制 itoa(num, str原创 2017-07-21 19:17:08 · 4109 阅读 · 0 评论 -
二进制字符串求和
题目描述: 输入两个二进制字符串,每行一个 返回两个二进制字符串求和后的二进制字符串示例: 输入: 11 1 输出 110思路:模拟二进制的加法。记得保存进位#include <iostream>#include <string>#include <algorithm>using namespace std;class Solution {public: string ad原创 2017-09-28 14:50:27 · 806 阅读 · 0 评论 -
c++ 合并两个数组
c++ 合并两个数组 题目描述: 两个数组,每个数组的长度均为3,输出合并排序后的数组 示例: 输入: 2 4 6 1 3 5 输出: 1 2 3 4 5 6#include <iostream> using namespace std;int main() { int a[3], b[3], c[6]; for(int i = 0原创 2017-09-26 21:44:18 · 20522 阅读 · 2 评论 -
转载:fork出的子进程和父进程
转载:fork出的子进程和父进程 fork是UNIX关于进程管理的一个术语,本质是新开一个进程,但是不从磁盘加载代码,而是从内存现有进程复制一份。 转自:http://blog.csdn.net/theone10211024/article/details/13774669一、fork后的父子进程由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返转载 2017-09-25 19:02:55 · 894 阅读 · 0 评论 -
网易笔试:构造队列
网易笔试:构造队列 题目描述 小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序: while(!Q.empty()) //队列不空,执行循环 { int x = q.front(); //取出当前队头的值x q.pop();原创 2017-08-09 09:28:15 · 517 阅读 · 0 评论 -
网易笔试:买苹果
网易笔试:买苹果 题目描述 小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。 输入描述: 输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果 输出描述: 输出一个整数表示最少需要购买的袋数,原创 2017-08-10 10:51:26 · 410 阅读 · 0 评论 -
去哪儿笔试:身份证分组
去哪儿笔试:身份证分组 题目描述 18位身份证的编码规则是: 前1、2位数字表示:所在省(直辖市、自治区)的代码 第3、4位数字表示:所在地级市(自治州)的代码 第5、6位数字表示:所在区(县、自治县、县级市)的代码; 第7—14位数字表示:出生年、月、日; 第15、16位数字表示:所在地的派出所的代码; 第17位数字表示性别:奇数表示男性,偶数表示原创 2017-08-17 15:10:57 · 2111 阅读 · 0 评论 -
printf从右向左计算,从左向右打印
printf从右向左打印#include <stdio.h>int main() { int x = 0; printf("%d,%d\n", x, x++); printf("%d",x); return 0;}printf(“%d,%d\n”, x, x++)函数,从右向左执行。首先打印x++,然后打印x原创 2017-07-23 23:29:21 · 5002 阅读 · 3 评论 -
请将下列构造函数补充完整,使得程序的运行结果是5
请将下列构造函数补充完整,使得程序的运行结果是5原题地址:https://www.nowcoder.com/test/question/done?tid=9799426&qid=46329#summary#include<iostream>using namespace std;class Sample{ public: Sample(int x){原创 2017-08-12 09:23:39 · 1033 阅读 · 0 评论 -
C/C++面试题:构造函数与析构函数
构造函数与析构函数的一道小题下面程序的输出是什么?#include<iostream>using namespace std;class TestClass{ char x;public: TestClass() { cout << 'A'; } TestClass(char c) { cout << c; } ~TestClass() { cout << 'B';原创 2017-08-11 21:36:10 · 1979 阅读 · 0 评论 -
面试题53. 正则表达式匹配
正则表达式匹配 题目描述 请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配这道题我理解得不好,简单记一下思路: 题目给出一个字符串和一个模式原创 2017-08-08 20:12:17 · 566 阅读 · 0 评论 -
面试题55. 表示数值的字符串
题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。C++代码:class Solution {public: bool isNumeric(char* string)原创 2017-08-08 16:57:27 · 361 阅读 · 0 评论 -
数组指针的小例子
数组指针的小例子下面的例子,包含几个知识点: 1. 数组与指针 2. 自增运算符++ 3. printf()从右向左打印#include <iostream>using namespace std;int main() { int b = 3; int arr[] = {6,7,8,9,10}; int *ptr = arr; *(ptr++) += 123;原创 2017-07-23 23:37:26 · 367 阅读 · 0 评论 -
switch小例子
switch小例子#include <iostream>using namespace std;int main() { int n = 'c'; switch(n++) { default : cout<<"error"<<endl; break; case 'a': case 'A':原创 2017-07-23 23:13:42 · 1340 阅读 · 0 评论 -
union和内存对齐的小例子
union和内存对齐的小例子下面这两个例子,包含了两个知识点: 1. union共用内存首地址 2. 结构体内存对齐例子1:#include <stdio.h>#include <iostream>using namespace std; /*union 共用体,完全共用一个内存首地址,针对union中变量的操作共同生效*/ /*牵一发而动全身,a、b中的任意一个变了,另一个也变了*/ty原创 2017-07-23 23:03:36 · 452 阅读 · 0 评论 -
char 数组的初始化问题
char 数组的初始化问题#include <iostream>#include <string.h>using namespace std;int main() { // 一维数组 char str1[] = "ab"; cout << str1 << endl; // ab char str2[] = {"ab"}; cout原创 2017-07-21 22:22:52 · 1958 阅读 · 0 评论 -
sizeof和strlen
sizeof和strlen sizeof 和 strlen返回的都是字节数,一个重要的区别在于, strlen返回的是字符串的长度(不包含’\0’),其参数只能是char* sizeof 返回的是对象或类型,所占的内存字节数,所以sizeof需要考虑’\0’。sizeof的参数可以是数组、字符串、对象等等。#include <iostream>#include <stri原创 2017-07-21 22:02:19 · 454 阅读 · 0 评论 -
C++小顶堆求Topk
C++小顶堆求Topk求数组中的Topk数字,比如【1、4、6、7、2、9、8、3、5、0】的Top4是【6、7、8、9】。 用小顶堆来实现,首先用前4个元素新建一个大小为4的小顶堆,堆顶始终保存堆中的最小值。数组中的剩余数字是【2、9、8、3、5、0】然后逐个将剩余数字与堆顶比较,如果大于堆顶,则与堆顶交换,并向下调整堆。最后堆中保存的就是最大的4个数字。代码如下,MinHeap.cpp原创 2017-10-15 20:17:37 · 2288 阅读 · 0 评论