面试问题
文章平均质量分 76
市井小虾
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串常见问题总结(二)
寻找一个字符串中最长的公共子串思路:1.求出该字符串的所有后缀子串2.对这些后缀子串进行排序3.比较相邻的后缀子串,求出它们最大的公共子串的长度 /*实现如何求取字符串的所有后缀子串。可以定义一个指针数组,使每个指针分别指向字符串不同的位置。实现代码如下。*/#include #include #include using namespace std;ch原创 2013-11-15 20:35:58 · 581 阅读 · 0 评论 -
可变参数函数
可变参数函数可变参数函数的参数是可变的,例如printf(char* formt, va_list args)和 vfprintf(FILE* fp, char *format, va_list args)等。实现可变参数函数要在头文件中包含,其中包含了四个操作可变参数的函数。void va_start(va_list ap, argN); // 初始化va_list 类型的参数apvo原创 2013-11-13 19:37:07 · 1148 阅读 · 0 评论 -
几个简单的字符串和数组计算方法
1. 给定一个递增数组和一个数字S,在数组中找到两个数使得它们之和正好是S。思路:设定该数组的首尾的下标begin和end,当begin#include using namespace std;int arr[100];int main(){ int n =0,i; cin>>n; int begin = 0; int end =原创 2013-11-24 21:17:45 · 1049 阅读 · 0 评论 -
编程技术面试的五大要点
扎实的基础知识、高质量的代码、清晰的思路、优化代码的能力、优秀的综合能力是编程技术面试的五大要点。找工作一直是一个热门话题。要想找到心仪的工作,难免需要经过多轮面试。编程面试是程序员面试过程中最为重要的一个环节。如果能在编程面试的环节充分展示自己的能力,那么拿到中意的Offer就是水到渠成的事情。我先后在欧特克、微软和思科等公司任软件工程师,多次接受他人的面试,同时也面试过很多人。转载 2013-11-24 15:22:35 · 608 阅读 · 0 评论 -
位运算实现加减法
首先实现加运算,实现加运算自然就可以实现减运算了。位运算是对二进制进行的操作,两个二进制数相加,如果同位都是1,则产生进位。如果同位都不是1,则不产生进位。1).不考虑进位的情况,两个二进制数相加就是求异或的操作。即对于5+9等价于00101 + 01001;两者异或结果为01100(异或结果);2).考虑进位如何操作,同上述情况一样,5+9会在末尾位产生进位,那么我们对两者求与操作,原创 2013-11-23 16:35:19 · 3923 阅读 · 0 评论 -
字符串四则运算求值
假定给定一个四则运算字符串:8+7*2 –9/3;那么该表达式的值为19. 但是如何用C/C++程序上实现计算一个字符串表达式呢?一个常用的做法是将表达式的字符串转换为后缀表达式,即:1)表达式8+2,转换为后缀表达式是8 2+;2)表达式8 +3*4,转换为后缀表达式是834*+;然后通过栈的操作可以求得它们的结果:以2)例为例:压入8,原创 2013-11-21 15:06:15 · 1518 阅读 · 0 评论 -
大端模式和小端模式
大端模式和小端模式是两个相对的概念。网络字节顺序使用的是大端模式,一般的电脑主机中的字节顺序使用的是小端模式,一些大型的IBM主机除外。从概念上讲:大端模式:高字节存放在低地址,低字节存放在高地址小端模式:高字节存放在高地址,低字节存放在低地址举个例子:一个数据0x12 34 56 78(代表的是一个16进制数据,16进制的两位表示一个字节),那么它在小端模式中的存储方式原创 2013-11-20 22:21:47 · 875 阅读 · 0 评论 -
有序的合并两个有序链表
输入两个递增链表,合并这两个链表中的元素,并保证合并后的链表中的节点仍然是递增排序的。首先定义一个节点的结构体:struct node{ int n_val; node *next; };其次实现递增单链表的输入:即输入一系列递增的数字,并使它们形成一个链表。知道遇到”-1“,停止输入。void create_list(node * &rhead){原创 2013-11-20 11:35:48 · 812 阅读 · 0 评论 -
const、 volatile 和mutable
const, volatile 和 mutable是C/C++中的三种类型限制付。三者具有不同的优点,不同的用途。下面就三者在不同方面的应用进行一个总结。一、const:在最初的C语言中const用来修饰变量和指针以及函数参数,但在C++中const的用途进一步被拓展。const更确切的解释应该是read only。1const 修饰变量:一般有两种写法:const type原创 2013-11-19 23:13:08 · 1175 阅读 · 0 评论 -
重载、隐藏、覆盖
一、 重载重载包括函数的重载和运算符的重载。函数重载是指在同一个作用域中,相同函数名字,不同参数或参数个数不同的函数可以实现重载。二、隐藏隐藏包括变量和函数的隐藏。函数的隐藏是指在不同作用域中,函数被下一级作用域中的同名函数隐藏,可以不具备相同的函数参数或参数个数。因为调用成员函数式要经过以下3步:1、 编译器查找函数名2、 从同名候选者中选择最佳匹配函数3原创 2013-11-19 23:08:09 · 793 阅读 · 0 评论 -
常见字符串问题总结(三)
常见字符串问题总结(二)字符串问题中经常会有删除某一字符串的某一个字符,可以是不同方式的删除,比如将指定的字符删除,删除字符中的空格(包括字符串的头和尾)。本文就列举了部分有关字符串删除的问题。1. 删除字符串中的空格,要求将字符串前面和后面的所有空格都删除,对字符串中间,如果出现多个连续的空格,只保留一个空格。#include #include using namespac原创 2013-11-16 18:02:26 · 704 阅读 · 0 评论 -
常用库函数的实现
常用库函数的实现:1. strcmp() 实现不使用库函数,编写int strcmp(char *source, char * dest)若相等返回0,不等返回-1.int Mystrcmp_simple(char * src, char*dest){ assert(src!=NULL && dest!=NULL); while(*(src++) ==原创 2013-11-14 14:43:35 · 576 阅读 · 0 评论 -
字符串常见问题总结(一)
字符串处理中的常见问题总结(一)C语言中字符串处理方面的问题非常普遍,常见问题如:查找,替换,复制,移动,插入,删除,排序,单词统计,字符串类型与其他类型(整形,实型,长整形)之间的相互转换等。一、 字符串的查找C语言库函数中有很多有关的函数,如:int strcpm(char * src, char*dest); int strncpm(char*,char*);原创 2013-11-15 15:51:55 · 938 阅读 · 0 评论
分享