摘要:
1 #include <iostream> 2 using namespace std; 3 4 void fun1(int p[]) 5 { 6 7 } 8 9 void fun2(int* p)10 {11 12 }13 14 void fun3(int p[8])//即使a[10]作为参数传递进来,也不会编译出错,因为传递进来的实际上只是a;15 {16 17 }18 19 void fun4(int (&p)[10])20 {21 22 }23 int main()24 {25 int a[10]={1,5};26 fun1(a);27 fun2(a);... 阅读全文
摘要:
第15 题:题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如输入:8/ \6 10/\ /\5 7 9 11输出:8/ \10 6/\ /\11 9 7 5定义二元查找树的结点为:struct BSTreeNode // a node in the binary search tree (BST){ int m_nValue; // value of node BSTreeNode *m_pLeft; // left child of node BSTreeNode *m_pRight; // 阅读全文
摘要:
1 /************************************************************************/ 2 /* 输入一个已经按升序排序过的数组和一个数字sum,在数组中查找两个数,使得它们 的和正好是输入的那个数字sum,要求时间复杂度为O(n) 3 4 解题思路:设置头尾两个指针,从第一个元素和最后一个 5 元素相加,如果大于sum,则尾指针向前移1个元素,继续判断两个数的和; 6 如果小于sum,则头指针向后移1个元素,继续判断两个数的和*/ 7 /*****************************************... 阅读全文
摘要:
/************************************************************************//* 题目:输入一个单向链表,输出该链表中倒数第k 个结点。链表的倒数第0 个结点为链表的尾指针。链表结点定义如下:struct ListNode{int m_nKey;ListNode* m_pNext;}; 解题思路参考http://www.diybl.com/course/3_program/c++/cppjs/20110510/555111.html*//***********************************... 阅读全文
摘要:
/************************************************************************//* 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句(A?B:C)。 利用静态变量 *//************************************************************************/... 阅读全文