- 博客(9)
- 问答 (2)
- 收藏
- 关注
原创 堆排序
最近看了很多网上的堆排序算法,有一些讲解的很是透彻,但代码实现总是多多少少存在问题,我自己最近通过学习写了一个测试代码,在VS上通过了测试,希望对大家有所帮助,其中存在一些不足,也欢迎大家来一起改进、学习。#include using namespace std; //堆本身是一个完全二叉树,可以用数组存储,叶子节点的索引号是父节点的(i-1)/2 //下面给出小顶堆的实现代码 void s
2016-05-22 09:42:16 200
原创 归并排序
#include using namespace std; void swap(int *a,int *b) { int tmp = *a; *a = *b; *b = tmp; } //分治法,将数组分成两组A,B若这两组内数据都是有序的,将两个有序数列合并 void merge_arr(int a[],int first,int mid,int last,int tmp[]) {
2016-05-19 23:58:10 214
原创 快排
#include using namespace std; void swap(int *a,int *b) { int tmp = *a; *a = *b; *b = tmp; } //思想:1、先从数列中选取一个数作为基准数 //2、将大于次数的值放在其右边,小于的放在左边 //3、再对左右区间重复2,直到各区间只有一个数 void quick_sort(int a[],int lo
2016-05-19 23:57:11 254
原创 插入排序
#include using namespace std; void swap(int *a,int *b) { int tmp = *a; *a = *b; *b = tmp; } //选择排序是每次都选取所有剩余序列中的最小值,然后将其与最前面值互换(先找最小值,最后换一次) //冒泡排序和插入排序的区别:冒泡排序每次都将剩余序列的最小值插到现有队列最前面(找一次换一次) //插入
2016-05-19 23:56:05 200
原创 冒泡排序
//冒泡排序和插入排序的区别:冒泡排序每次都将剩余序列的最小值插到现有队列最前面(找一次换一次) #include using namespace std; void swap(int *a,int *b) { int tmp = *a; *a = *b; *b = tmp; } void bub_sort(int a[],int n) { for(int i=0;i<n-1;i+
2016-05-19 23:54:51 210
原创 选择排序
//选择排序是每次都选取所有剩余序列中的最小值,然后将其与最前面值互换(先找最小值,最后换一次) #include using namespace std; void swap(int *a,int *b) { int tmp = *a; *a = *b; *b = tmp; } void select_sort(int a[],int n) { for(int i=0;i<
2016-05-19 23:50:28 182
原创 指针实现链表逆序
使用指针实现链表逆序方法 //链表逆序 SLIST *SLIST_inverse01(SLIST *head) { SLIST *p = NULL; SLIST *q = NULL; SLIST *t = NULL; if(head == NULL || head->next == NULL) { return NULL; } if(head->next->next ==
2016-05-19 00:04:56 253
原创 epoll总结
首先援引http://blog.csdn.net/xiajun07061225/article/details/9250579的一些东西,紧接着给出个人的观点和代码,如有不足,请各位大神补充更正
2016-05-16 00:23:10 292
原创 两个指针判别字符串是否是回文字符串
前段时间做了腾讯实习生笔试题,其中一道是判别回文字符串的,这里给出自己的一个解法,希望对大家有所帮助: 1.求出字符串s长度; 2.使用两个指针p、q分别指向其左右两边; 3.若*p一直等于*q,则表明为回文字符串;
2016-05-15 17:24:38 3900 2
空空如也
cache line填充后运行时间问题
2016-05-24
传统内核协议栈为什么不使用零拷贝,也就是内存映射来提升性能?
2016-05-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人