- 博客(9)
- 问答 (2)
- 收藏
- 关注
原创 堆排序
最近看了很多网上的堆排序算法,有一些讲解的很是透彻,但代码实现总是多多少少存在问题,我自己最近通过学习写了一个测试代码,在VS上通过了测试,希望对大家有所帮助,其中存在一些不足,也欢迎大家来一起改进、学习。#includeusing namespace std;//堆本身是一个完全二叉树,可以用数组存储,叶子节点的索引号是父节点的(i-1)/2//下面给出小顶堆的实现代码void s
2016-05-22 09:42:16 180
原创 归并排序
#includeusing 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 198
原创 快排
#includeusing 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 234
原创 插入排序
#includeusing namespace std;void swap(int *a,int *b){ int tmp = *a; *a = *b; *b = tmp;}//选择排序是每次都选取所有剩余序列中的最小值,然后将其与最前面值互换(先找最小值,最后换一次)//冒泡排序和插入排序的区别:冒泡排序每次都将剩余序列的最小值插到现有队列最前面(找一次换一次)//插入
2016-05-19 23:56:05 181
原创 冒泡排序
//冒泡排序和插入排序的区别:冒泡排序每次都将剩余序列的最小值插到现有队列最前面(找一次换一次)#includeusing 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 191
原创 选择排序
//选择排序是每次都选取所有剩余序列中的最小值,然后将其与最前面值互换(先找最小值,最后换一次)#includeusing 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 162
原创 指针实现链表逆序
使用指针实现链表逆序方法//链表逆序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 233
原创 epoll总结
首先援引http://blog.csdn.net/xiajun07061225/article/details/9250579的一些东西,紧接着给出个人的观点和代码,如有不足,请各位大神补充更正
2016-05-16 00:23:10 269
原创 两个指针判别字符串是否是回文字符串
前段时间做了腾讯实习生笔试题,其中一道是判别回文字符串的,这里给出自己的一个解法,希望对大家有所帮助:1.求出字符串s长度;2.使用两个指针p、q分别指向其左右两边;3.若*p一直等于*q,则表明为回文字符串;
2016-05-15 17:24:38 3852 2
空空如也
cache line填充后运行时间问题
2016-05-24
传统内核协议栈为什么不使用零拷贝,也就是内存映射来提升性能?
2016-05-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人