变态题大串烧:微软面试问题 -- 六.算法题——实学考验



(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的人都将会被这些题所淘汰。) 
  1.链表和数组的区别在哪里? 
  2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法? 
  3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 
  4.请编写能直接实现strstr()函数功能的代码。 
  5.编写反转字符串的程序,要求优化速度、优化空间。 
  6.在链表里如何发现循环链接? 
  7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。 
  8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?) 
  9.给出一个函数来输出一个字符串的所有排列。 
  10.请编写实现malloc()内存分配函数功能一样的代码。 
  11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。 
  12.怎样编写一个程序,把一个有序整数数组放到二叉树中? 
  13.怎样从顶部开始逐层打印二叉树结点数据?请编程。 
  14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? 
posted @ 2005-11-06 19:59  quitgame  阅读(4730)  评论(5编辑  收藏  举报