摘要: 本机系统是Ubuntu12.04。vim&gcc&gdb&make&kg-config等基本编程工具都已经安装完毕。Ubuntu 上开发gtk+2.0的程序,需要安装相应的头文件和库。1、在控制台窗口输入sudo apt-get install libgtk2.0*, #gtk+-2.0所需的所有文件将统通下载安装完毕2、apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件附录: 如果vim&gcc&gdb&make&kg-con 阅读全文
posted @ 2013-05-26 15:46 hust_枫 阅读(1241) 评论(0) 推荐(0) 编辑
摘要: 我机器的显卡是ATI5650/Intel 集显, 如果使用12.04自带的开源驱动,独显会一直运转,不一会机器就会很热。尝试了ATI的闭源驱动fglrx,驱动安好后X不能使用。原因是Xorg对12.04闭源驱动的支持有问题,需要等更新。只好尝试关闭独显,方法如下:获得root权限sudo su设置使用集成显卡输出echo IGD > /sys/kernel/debug/vgaswitcheroo/switch关闭没有使用的独立显卡echo OFF > /sys/kernel/debug/vgaswitcheroo/switch查看当前显卡状态cat /sys/kernel/debu 阅读全文
posted @ 2013-05-26 15:23 hust_枫 阅读(3605) 评论(0) 推荐(0) 编辑
摘要: 对于数组int a[5] = {1,2,3,4,5}; a 和&a的区别a 和&a的地址一样,但是表示的意义不一样。a 表示的是数组a的首元素的地址,&a表示的是数组a的首地址。a+1 表示下一个元素的地址,是通过a的地址偏移sizeof(int)得到的。&a + 1表示下一个数组的首地址,通过a的地址加上sizeof(a),即a + 5 * sizeof(int)得到的。实验:1 int main()2 {3 int a[5] = {1,2,3,4,5};4 int *ptr1 = (int*)(&a + 1);5 int *ptr2 = (int*) 阅读全文
posted @ 2013-05-18 21:26 hust_枫 阅读(140) 评论(0) 推荐(0) 编辑
摘要: (海豚实习生笔试题)有两个大小都是k的数组A,B,它们元素的按非递减有序排列,找出这样的k个最小的(ai + bj) ,其中 0<= i,j < k,要求算法的时间复杂度和空间复杂度尽量低。(LeetCode)在两个按非递减有序数组中,寻找中位数,要求时间复杂度O(log(m+n))。 阅读全文
posted @ 2013-05-14 23:02 hust_枫 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点依然是按照递增排序的。链表结点定义如下:1 struct ListNode2 {3 int m_nValue;4 ListNode* m_pNext;5 };思路:利用递归。每一次把具有较小值的结点赋给MergeHead,MergeHead->m_pNext是合并剩下链表所返回的头结点。 1 ListNode* MergeSortedList(ListNode *pHead1, ListNode *pHead2) 2 { 3 if (pHead1 == NULL) 4 { 5 retu... 阅读全文
posted @ 2013-05-14 16:48 hust_枫 阅读(273) 评论(1) 推荐(0) 编辑
摘要: 1.利用堆排序对数组进行排序。堆结构是把数组看成完全二叉树,除最后一层,每一层都是满的。堆分最大堆和最小堆,其中最大堆是指每一个子树中,根要比其两个孩子的值大,最小堆反之;数组元素升序需要用最大堆,降序用最小堆;这里使用最大堆。实现堆排序需要三个主要函数:建立最大堆,维持最大堆性质,和堆排序函数。建立最大堆(BuildMaxHeap):自底向上地维持最大堆性质,heapsize/2为最底下一层的父结点,即需要从结点下标为heapsize/2 ~ 0的结点调用维持最大堆性质的函数(MaxHeapify)。维持最大堆性质(MaxHeapify):将堆中某个元素调整到合适的位置(下沉);使之满足最大 阅读全文
posted @ 2013-05-12 23:07 hust_枫 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 本试题转自:http://blog.csdn.net/hackbuteer1/article/details/8017703先把题目转过来,之后再给出答案。 阅读全文
posted @ 2013-05-11 21:54 hust_枫 阅读(196) 评论(0) 推荐(1) 编辑
摘要: Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are 阅读全文
posted @ 2013-05-11 18:23 hust_枫 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 搜狐笔试题思路: 遍历数组一次,用ret 记录最大的和,sum则将每一个元素加起来;在每一步中若sum < 0,则将sum赋值为0;若sum > 0,则和ret比较,保持ret在每一步中的最大性。最后返回ret即可。code: 1 int find_max_sum(int array[], int n) 2 { 3 //ret 记录maxsum 4 int ret = 0; 5 int sum = 0; 6 7 for (int i = 0; i < n; ++i) 8 { 9 sum += array[i];10 if... 阅读全文
posted @ 2013-05-11 15:02 hust_枫 阅读(147) 评论(0) 推荐(0) 编辑
摘要: [C语言文件操作函数] ////////////////////////////////////// fopen() 打开流 fclose() 关闭流 fputc() 写一个字符到流中 fgetc() 从流中读一个字符 fseek() 在流中定位到指定的字符 fputs() 写字符串到流 fgets() 从流中读一行或指定个字符 fprintf() 按格式输出到流 fscanf() 从流中按格式读取 feof() 到达文件尾时返回真值 ferror() 发生错误时返回其值 rewind() 复位文件定位器到文件开始处 remove() 删除文件 fread() 从流中读... 阅读全文
posted @ 2013-05-09 21:05 hust_枫 阅读(129) 评论(0) 推荐(0) 编辑