我提交了好多次,错误莫名其妙的,到后来才明白过来,原来我把题目给理解错了。
这个题的意思不是说让你把最后的那k个位置的元素移到前面来,这种问题的做法就是用两个指针,先让一个走,走到一定的长度之后两个一起走,很简单。它实际的意思是整个链表循环右移,假设一个链表长度是N,那么循环右移N次之后,链表又变回了原来的样子。k的取值范围只说了是非负的,也就是它可以是大于N的,因此实际的移位次数只是(k%N)...
分类:
其他好文 时间:
2014-05-13 23:37:23
阅读次数:
299
1、目录操作有 mkdir(constchar *pathname,mode_t mode)
创建目录,成功则返回0,若出错则返回-1
int rmdir(const char *pathname)
rmdir可以删除一个空目录,成功则返回0,若出错返回-1
DIR *opendir(const *pathname)
成功则返回指针,若出错则返回NULL...
分类:
其他好文 时间:
2014-05-13 08:06:02
阅读次数:
298
R++是专为懒人设计的国产编程语言,支持无操作系统裸奔、编译成机器码、android、cocos2dx绑定、中文编程、闭包、惰性求值、JSON、Lisp的S表达式、内联汇编、伪代码、模板、宏、多重继承、元编程、反射、自省、指针、引用。
为什么需要它?
1.目前DIY操作系统一般使用gcc+nasm,R++是编译型语言,抽象能力强过C,可直接内联汇编,不需要面对讨厌的AT...
分类:
编程语言 时间:
2014-05-13 07:44:30
阅读次数:
486
快速排序原理:
快速排序先把等待排序的集合打乱顺序,把第一个元素作为基准元素,为第二个元素和最后一个元素分配两个指针i和j,如果a[i]小于基准元素则i++,如果a[j]大于基准元素则j--,这样把大于基准元素的a[i]和小于基准元素的a[j]互换,以此类推,最终把基准元素与a[j]相交换,就得到一个a[j]左侧全部小于a[j],右侧全部大于a[j]的一个近似有序数组,然后按照如上步骤重新寻找每个被a[j]分开的数组中的分隔点,最终得到有序数组。
在通用排序中,一般都会选取快速排序来解决问题。...
分类:
其他好文 时间:
2014-05-13 07:40:24
阅读次数:
290
Assembly instructions
汇编初步学习
汇编0基础的戳上面,刷一遍,包治百病
%eax寄存器的值与C语言的return的值相对应
(%esp)地址处储存的是函数的返回地址 return address
%esp 栈顶寄存器 保存栈顶指针。
%ebp = boundary between p...
分类:
其他好文 时间:
2014-05-13 06:28:37
阅读次数:
416
如果一个多层次的数据结构达到两级或者两级以上,举例如下:
struct A{
int array_member[100];
//其他数据成员
};
struct B{
struct A *a_ptr;
//其他数据成员
}
那么通过B类型的指针b_ptr访问A类型的array_member的某一个元素array_member[0]则需要使用b_...
分类:
编程语言 时间:
2014-05-13 06:00:59
阅读次数:
270
理解二级指针,关键是理解指针的存储方式和意义。
这里以指向int型指针的指针为例,梳理一下二级指针在内存分配中 的奥妙....
#include
using namespace std;
int main()
{
int a[5] = {1, 2, 3, 4, 5};
int *p = a;
int **point = &p;
cout << "a = "...
分类:
其他好文 时间:
2014-05-12 23:22:28
阅读次数:
291
读前小提示:对于深浅复制有一个清楚的了解,对于学习oc的朋友来说,至关重要。那么首先,我们要明白深浅复制是如何定义的呢。这里为了便于朋友们理解,定义如下。
浅 复制:在复制操作时,对于被复制的对象的每一层复制都是指针复制。深 复制:在复制操作时,对于被复制的对象至少有一层复制是对象复制。完全复制:在...
分类:
其他好文 时间:
2014-05-12 21:23:29
阅读次数:
415
原题地址:http://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/题意:将一条排序好的链表转换为二叉查找树,二叉查找树需要平衡。解题思路:两个思路:一,可以使用快慢指针来找到中间的那个节点,然后将这个节点作为...
分类:
编程语言 时间:
2014-05-12 21:07:00
阅读次数:
405
不求全面,先留个爪: TNotifyEvent = procedure(Sender:
TObject) of object; TMethod = record Code, Data: Pointer;
end;判断两个按钮的事件是否相等:procedure TForm1.Button5...
分类:
其他好文 时间:
2014-05-12 20:58:45
阅读次数:
432