自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码菌的blog

Just for fun

  • 博客(8)
  • 资源 (3)
  • 收藏
  • 关注

原创 秒懂单链表及其反转(reverse)

什么是链表,这种数据结构是由一组Node组成的,这群Node一起表示了一个序列。链表是最普通,最简单的数据结构,它是实现其他数据结构如stack, queue等的基础。链表比起数组来,更易于插入,删除。Node可以定义如下:typedef int element_type;typedef struct node *node_ptr;struct node {el

2015-04-29 23:00:36 12026

原创 秒懂快速排序

快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来快速排序核心:"基准"(pivot),分区(partition),交换(swap),递归(r

2015-04-28 21:54:27 1767 1

原创 秒懂插入排序与选择排序

插入排序原理:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序核心:假设第一个元素排好,之后的元素对排好的部分从后向前比较并逐一移动。插入排序实现:void insertion_sort(int a[], int n){ int i,j,tmp; for (i = 1; i < n; i++) { tmp = a[i

2015-04-28 17:50:26 19750 6

原创 秒懂冒泡排序

长时间不复习,简单的算法也会忘记啊。冒泡排序的核心:两两比较相邻元素,将最大或最小的元素像气泡一样,向数组的一端”浮“。冒泡排序的平均时间复杂度:冒泡排序的C语言实现:#include void bubble_sort(int array[], int n){ int i,j,tmp; for (i = 0; i < n - 1; i++) {

2015-04-28 15:41:16 1470

原创 C++11,使简单的事情简单

Joe Armstrong说过一句话:面向对象编程语言的问题在于,它总是附带着所有它需要的隐含环境。你想要一个香蕉,但得到的却是一个拿着香蕉的大猩猩,和整个丛林。显然地,这将简单问题复杂化了。我们不否认这个世界上,有些代码是不能简单化的。对于那些可以简单化的代码,我们还是希望不要复杂化。如果你是这样的人,没有理由不使用C++11。下面将展示C++11是如何奇迹般地使代码简单

2015-04-22 01:26:55 2079 2

原创 LeetCode198——House Robber

这题告诉我们,要成为一个优秀的小偷,得懂编程才行。哈哈You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each

2015-04-20 23:36:21 1428

原创 LeetCode93——Restore IP Addresses

Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example: Given "25525511135",return ["255.255.11.135", "255.255.111.35"]. (Order does

2015-04-20 14:34:48 1401

原创 C++11:深入理解右值引用,move语义和完美转发

乍看起来,move语义使得你可以用廉价的move赋值替代昂贵的copy赋值,完美转发使得你可以将传来的任意参数转发给 其他函数,而右值引用使得move语义和完美转发成为可能。然而,慢慢地你发现这不那么简单,你发现std::move并没有move任何东西,完美转发也并不完美,而T&&也不一定就是右值引用……move语义最原始的左值和右值定义可以追溯到C语言时代,左值是可以出现在赋值符

2015-04-15 12:45:34 47505 14

csv大文件打开器

csv大文件打开器

2013-11-06

OpenGL(全)

OpenGL库文件大全

2012-05-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除