- 博客(4)
- 资源 (3)
- 收藏
- 关注
原创 二叉树非递归前序和中序遍历
一 前序遍历: 设置一个栈,从根开始顺着左子树依次访问并入栈,当左子树为空时,说明当前栈顶节点的左子树访问完,应该访问栈顶节点的右子树,将其入栈,然后重复刚才的过程。 中序遍历 设置一个栈,从根开始顺着左子树依次入栈,当左子树为空时,说明当前栈顶节点的左子树访问完,此时将栈顶出栈并访问,接着访问栈顶节点的右子树,将其入栈,然后重复刚才的过程。 二 struct BTNod
2012-09-30 20:50:31 680
原创 二叉树后序遍历非递归实现
一 对于一个节点p,沿着左子树一直向下,直到没有左孩子,在此过程中标记节点为第一次访问, 现在栈顶第一次访问该节点,由于右子树没有访问完,按照刚才的方式访问右子树。 访问完右子树后,第二次访问该节点,现在将其出栈并访问。 二 设置一个节点栈,一个标记栈,两个栈是同步的,标记栈标记第几次访问。 三 struct BTNode { int d; struct BTNo
2012-09-30 16:58:10 652
原创 在循环数组中查找某个数K
一 循环数组 例如 4 5 6 7 8 9 1 2 3, 循环有序 二 类似于二分查找的思想,首先定位到中间,然后判断左右两个区间,哪个是有序的(一定有一个是有序的),然后判断k是不是在这个有序区间来判断下一步在哪个区间去查找 #include #include //在循环数组中寻找k int main() { int a[9] = {1,2,3,4,5,6,9,90
2012-09-30 15:54:49 1858
原创 获得文件大小
int fseek(FILE *stream, long offset, int whence); long ftell(FILE *stream); 先将文件按定位到末尾,然后ftell函数返回当前读写位置 #include int main(int argc, char** argv) { if (argc < 2) { pri
2012-09-13 15:40:56 350
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人