算法
Groz
路遥知马力日久见人心
展开
-
插入排序
_author__ = "Groz"__data__ = "$2014-6-30 21:58:00$"if __name__ == "__main__": print "HELLO"#define a functiondef INSERTION_SORT(A): for j in range(1,len(A)): key =原创 2014-07-01 08:11:40 · 654 阅读 · 0 评论 -
Java位演算在程序设计中的使用:位掩码(BitMask)
Java位运算在程序设计中的使用:位掩码(BitMask)在Java中,位运算符有很多,例如与(&)、非(~)、或(|)、异或(^)、移位(>)等。这些运算符在日常编码中很少会用到。在下面的一个例子中,会用到位掩码(BitMask),其中包含大量的位运算。不只是在Java中,其他编写语言中也是可以使用的。例如,在一个系统中,用户一般有查询(Select)、新增(Insert)、修改转载 2014-08-21 17:10:13 · 838 阅读 · 0 评论 -
利用归并去除两个数组重复部分
NSArray *a = @[@1,@3,@4,@5,@8,@9,@10,@32]; NSArray *b = @[@3,@4,@5]; NSLog(@"a:%@\b:%@",a,b); int j=0,k=0; int count = 0; NSMutableArray *arr = [@[] mutableCopy]; while (j < a原创 2014-12-22 16:37:40 · 1926 阅读 · 0 评论 -
排序(一)冒泡排序
基本思想每次比较两个相邻的元素,如果顺序错误就把它们交换过来。 1. 升序:如果i大于i+1,交换。or pass,最后最大项在最后。 2. 降序:如果i小于i-1,交换。or pass,最后最大项在最前。原创 2016-01-16 14:34:30 · 659 阅读 · 0 评论 -
排序(二)快速排序
基本思想首先要找一个数作为基准数,用于参照比较。所有比基数大的都放在基数的右边,比基数小的都放在基数的左边。 1. 先选择最左端的一项作为基准数。 2. 分别从左端和有段选择一项作为哨兵i和哨兵j。 3. 基准数在左,在右端的哨兵j先动(从右向左,i从坐向右)。 4. 哨兵i关注小于基准数。哨兵j关注大于基准数。原创 2016-01-16 15:22:57 · 917 阅读 · 1 评论