常见程序员面试题目
文章平均质量分 75
anikan_yu
这个作者很懒,什么都没留下…
展开
-
字符串的全排列
假如给定一字符串“ABCDE” 编写一段程序输出它的全排列,代码如下:void DoPermute(char* in, char* out,char* used,int length,int recurse_level){ int i; if(recurse_level == length) { printf("%s/n",out); //print permutat翻译 2007-08-27 09:28:00 · 621 阅读 · 0 评论 -
二叉树的遍历(非递归算法)
二叉树的遍历是面试中比较常见的问题,而且一般不会考你用递归的方法来实现。面试前准备一下非递归的算法还是有必要的。 A原创 2007-08-29 10:31:00 · 1431 阅读 · 0 评论 -
判断字节的升序存储还是降序存储(little-endian or big-endian)
int Endianee(void){ union{ int the_integer; char the_single_byte; }ENDIAN; ENDIAN endian; endian.the_integer = 1; return endian.the_single_byte;}翻译 2007-08-26 22:06:00 · 770 阅读 · 0 评论 -
统计给定一个整数以二进制表达时含有1的个数
int OneInInteger(int number){ int count = 0; while(number){ number = number & (number - 1); count++; } return count;}翻译 2007-08-26 22:11:00 · 656 阅读 · 0 评论 -
字符串的逆向输出
比如说给定一字符串 " I Love ShanLiJuan " 那么它的逆向输出就是"ShanLiJuan Love I " 这里空白符作为单词的分割符。方案一: 使用标记法,需要一个缓存区。但是比较容易理解, 就是逆向扫描源字符串,把每个单词正向拷贝到缓存区,代码如下:void ReverseWord(char* p_string){ int word_read_pos = 0;翻译 2007-08-27 09:56:00 · 1452 阅读 · 0 评论 -
写出几种常用的排序算法以及执行效率
1 插入排序void insertion_sort(int* array,int len){ int i,j,key; for(j = 1; j key = array[j]; i = j - 1; while(i >= 0 && array[i] > key){ array[i + 1] = array[i]; i--; } array[i + 1] = key; }}翻译 2007-09-04 15:34:00 · 935 阅读 · 0 评论