- 博客(12)
- 资源 (3)
- 收藏
- 关注
转载 判断一棵树是否为AVL树
NO.12判断一棵树是否为AVL树:平衡二叉树(AVL树)是满足下面条件的二叉树:要么是一棵空树,要么左右子树都是AVL树,并且左右子树的深度之差的绝对值不大于1。由此可知,要判断一棵树是不是AVL树,只要判断它的左右子树的深度之差。问题落到了如何求一棵树的深度上去了。下面使用递归的方法求一棵树的深度:#include<stdio.h> #include<math.h> #include<
2015-10-10 23:23:55
6478
1
原创 有关链表的经典算法
NO.11LinkedList ReverseSinglyLinkedList(LinkedList list){ LinkedList newList; //新链表的头结点 LNode *tmp; //指向list的第一个结点,也就是要摘除的结点 // //参数为空或者内存分配失败则返回NULL // if (list
2015-10-08 23:10:41
392
转载 链表的颠倒算法
NO.10用一种算法来颠倒一个链接表的顺序。现在在不用递归式的情况下做一遍。[cpp] view plaincopy include using namespace std; struct node { int x; node *next; node() { x = 0; next = NULL; };
2015-09-29 23:15:13
730
转载 关于线程的问题
NO.9原文链接:http://www.importnew.com/12773.html不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎。大多数待遇丰厚的 Java 开发职位都要求开发者精通多线程技术并且有丰富的 Java 程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。 在典型
2015-09-28 23:11:29
408
原创 最大子数组+Java 基础知识
NO.8输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -1,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。 //// main.c// maxsum////
2015-09-27 23:44:49
528
原创 爱奇艺笔试编程题 (学习之旅)
NO.7今天参加了爱奇艺的笔试,来分享一下编程题,就是很简单的两道题:1.在一个字符串中找到第一个出现一次的字符,并返回ascii 码public class main { public static char firstOne(String s) { int result = 0; char temp; int[] num = n
2015-09-26 22:59:27
804
原创 C和指针 (学习之旅)
NO.6所有的的抽象数据类型(ADT)都要确定采用哪种方式获取内存。静态数组,动态分配数组,动态分配的链式结构堆栈:就像往一个瓶里面塞东西,想要拿出来,一般只能先拿上面的,后进的先出(LIFO)堆栈有三个操作:push,pop,toppush,将数据推入栈中,pop移除,top返回。堆栈对于链表来说实现比较 方便,单链表就行首先定义一个结构,结构中含有指向下一个元素的指针,以及元素的值。
2015-09-25 23:20:45
366
原创 C和指针 (学习之旅)
NO.5指针:int (*f)() 是一个函数指针,它指向的函数返回整型函数指针用在两个地方,一个是 转换表,还有作为参数传递给另一个函数当使用指针的时候,要时刻注意每一个指针所指向的地址。指向指针的指针还可以处理命令行。当一个字符串出现在表达式中得时候,我们会发现其实它就是一个指针常量对一个指针执行间接访问的操作的时候,其实是指向指针所指向的内容关于预处理器:用#define 可以
2015-09-24 23:23:44
460
原创 C和指针 (学习之旅)
NO.4关于结构和联合:创建一个数组的时候,所储存的类型都是一样的,但是当使用结构的时候,可以任意定义其中的类型,让每一个都可以不一样。struct 是关键字,用于声明创建,tag字段允许为成员列表提供名字。当声明结构的时候,可以使用typedef来相助,这样在以后使用的时候,可以免去复杂的声明。结构中得成员就像数组中储存的变量,不过它使通过 . 来访问。如果该结构被一个指针所指向的时
2015-09-23 23:53:57
372
原创 C和指针(学习之旅)
NO.3在编写一个函数之前,先在函数调用前声明这个函数。每一个程序都有一个main 函数,用于程序的开始。函数中包含了代码块,代码块是实现功能的一个语句的集合。可以把函数的声明写在.h文件中,这样,函数定义进行修改的时候,只需要修改原型函数的参数都是使用值传递,在函数中,传递过来的值被改变是无法改变原值的。但是如果以指针的方式,传递过来的是一个地址,通过对地址的调用可以修改原值使用实现抽
2015-09-23 00:00:57
323
原创 C和指针(学习之旅)
NO.2操作符有以下几种:算数操作符:+,-,*,/,%,除了%是只适用于整型外;移位操作符:<<,>>左移只能用0补充,右移可以只用0补充,还有可以符号位为1进1 ,符号位为0,进0有符号值的右移是不可移植的。位操作符:&,|,^赋值操作法人:=符合操作符:+=,++等;可以使代码更易读写单目操作符:!,~,-,*(指针),&(取址)等关系操作符:>,<,>=等逻辑操作符:&&,
2015-09-21 23:50:11
427
原创 C和指针代码(学习之旅)
大白计划-第一天使用Xcode的时候,出现了以下问题`ld: 1 duplicate symbol for architecture x86_64clang: error: linker command failed with exit code 1 (use -v to see invocation)`文件重复~导入第三方库造成的解决的方法是:当你创建一个project的时候,你要把创建的
2015-09-21 00:13:48
1352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅