摘要: 对于堆排序,其实就是一个路径上的冒泡的过程,所以可以用这个思想去写代码,思路:每次父节点都和他的左子树和右子树比较,三者中最大的那个与父节点交换位置,这样递归之后根节点存放的就是该次遍历最大的值,之后将根节点与最后的节点交换,在进行查找(0~(lenth-1))中的最大值与倒数第二个交换位置就OK了。这样自己比较好理解。 1 #include 2 using namespace std; 3 4 void swap(int &a, int &b){ 5 int tmp = a; 6 a = b; 7 b = tmp; 8 } 9 10 int findmax(int... 阅读全文
posted @ 2014-03-08 22:25 青轰的后花园 阅读(167) 评论(0) 推荐(0) 编辑
摘要: Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".注意考虑有多个空格的情况就好了,选择的处理办法是在进行空格查找之前先整理字符串 1 #include 2 #include 3 using namespace std; 4 class Solution { 5 public: 6 void reverseWords(string &s) { 7 checkSt 阅读全文
posted @ 2014-03-08 15:50 青轰的后花园 阅读(170) 评论(0) 推荐(0) 编辑