摘要:
Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl 阅读全文
摘要:
一,题目:输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针。二,分析:这是某一年的考研试题中,数据结构的一个题。题目本身难度不大。三,思路:设置两个指针p1,p2; p1=head; p2=head; 先让p2向前走k步,然后同时让p1,p2向后走。 当p2走到头的时候,p1所指的节点就是所求节点。四,源码:#include "stdio.h"
#include "malloc.h"
struct node
{ int data; node *next;
};
node* fun(node *hea... 阅读全文
摘要:
关于Javascript局部变量、块级作用域的理解废话少说,直接上代码和注释。var outer = function(){ var i=1; var inner = function(){ console.log(i);//由于下面if语句块中定义了局部变量i,这个变量的作用域属于inner函数,而此处i尚未赋值,因此值是undefined //var i=2; if(!i){//同上,此时i的值为undefined console.log(i);//此处仍然是undefined var i=3;//终于定义了 consol... 阅读全文
摘要:
一,题目:求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。二,分析:循环只是让相同的代码执行n遍而已,我们完全可以不用for和while达到这个效果。比如定义一个类,我们new一含有n个这种类型元素的数组那么该类的构造函数将确定会被调用n次。我们可以将需要执行的代码放到构造函数里。三,这是一类纯技巧性的题目,主要考察对语言技巧的熟练程度。 源码一: #include "stdio.h"int sum(int n){ int val = 0; n > 0 && (v 阅读全文
摘要:
源码:#include <gdk/gdkcursor.h>
#include <gtk/gtk.h> #define TEST_W 100
#define TEST_H 80 gboolean drag = FALSE; // 只在左键按下时拖动窗体
gboolean hide = FALSE; // 只在左键按下时拖动窗体
int nX = 0;
int nY = 0;
GtkWidget *window; static gint button_press_event(GtkWidget * widget,GdkEventButton * event, gpointe 阅读全文
摘要:
不同的情况对应有不同的解决的办法.如果你想得到一个控件相对于它的父窗口的位置,你需要使用widget->allocation.x 和 widget->allocation.y.如果你想的到一个窗口相对于X主窗口(X root window)的位置, 你应该使用gdk_window_get_geometry() gdk_window_get_position() 或者gdk_window_get_origin().如果你想得到一个窗口(包括WM修饰的窗口)的位置,应该使用gdk_window_get_root_origin().最后但不是不重要,如果你想得... 阅读全文
摘要:
一,任意拖动窗口中的按钮源码:#include <gtk/gtk.h>
GtkWidget *window;
GtkWidget *fixed;
GtkWidget *button;
gboolean drag = FALSE; // 只在左键按下时拖动窗体 gint nX = 0;
gint nY = 0; void destroy(GtkWidget *widget, gpointer *data)
{ gtk_main_quit();
} static gint button_press_event(GtkWidget * widget,GdkEventButton *... 阅读全文
摘要:
这是IT职场人生系列的第十七篇。 这里所说的高手,大约比项目经理还要高一些,大致在产品经理或部门经理的层面上;但项目经理也可以参考。之前新手入职的要点是找到自己要帮助的人,和要帮助自己的人(是同一个人);高手入职的特点,则是证明自己的能力。不过说起“证明”二字,还是很有说法的。大胆说出看法,但不固执己见这个是全部口诀,下面是若干相关问题,逐一探讨。领导到底信任还是不信任我?作为高手(比如部门经理级别),在招聘之前往往被灌输一个概念:我们充分信任你的能力,请来我们这里大展宏图吧。这个其实是有水分的。多数高手被招聘来的时候都是被寄以厚望的,但说归说,对于一个“非我族类”的新人,领导及各方都还是持有 阅读全文
摘要:
这是敏捷开发般若敏捷系列的第九篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九)经常听到有人提到敏捷开发与“本能反应”非常近似,比如凡事都需“看着办”,比如“不拘泥于形式”,比如“直击代码,不写无用的文档”等等。那么敏捷开发与本能反应之间的差别是什么呢?简单地说,敏捷开发就是无我状态的本能反应。无我,无人(无我,无人,无众生)按理说,本能反应是最接近最佳路径的,一线人员,工作现场,当下的问题,一定能在事先预定的路径之外找到更好的方法,除非有个“我”字。1. 比如测试人员最近的工作繁忙,需要多调度几个测试人员过来,才能保证测试不延期。如果按照本能反应,开发人员中的一些人极有可能过来帮忙 阅读全文
摘要:
一,题目: 如果把二叉树看成一个图,父子节点之间的连线看成是双向的(无向图),定义"距离"为两节点之间边的个数。写一个程序,求一棵二叉树中相距最远的两个节点之间的距离。二,思路 误导思路:不要以为求树的高度。 正确思路:求“图”中任意两个节点之间,相距最远的的两个节点之间的距离。 求解步骤:A,经过根节点,左边最深的点到右边最深的点的距离。 B,不经过根节点,而是左子树或右子树中最大距离,取其大者。三,图解情况A: 情况B: A A / \/ \ B C B O / \ / \ / \ D E F G C D/\ E F /\ G H情况A:最大距离经过顶点D-B-A-C- 阅读全文