数据结构
lby978232
这个作者很懒,什么都没留下…
展开
-
归并排序算法(递归实现)
归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序转载 2012-10-17 21:09:43 · 363 阅读 · 0 评论 -
单链表逆置
/*单链表逆置*/#include#includetypedef struct Number_t //链表的类型{ char data; //链表当前结点的值 struct Number_t *next; //链表当前结点指向下一结点的指针}Number,*Number_tPtr;Number_tPtr CreateList(Number *L)转载 2012-10-30 18:58:11 · 793 阅读 · 0 评论 -
C,C++创建二叉树,以及3种遍历
C++ 实现 ——引用是C++不同于C的地方//其中扩充结点用'0'号表示。即‘0’表示空树节点#include#include#include #includeusing namespace std;#def原创 2012-10-22 15:57:36 · 17941 阅读 · 0 评论 -
冒泡排序
冒泡法排序思想 :/*冒泡排序 i∈[0,N-1) //循环N-1遍j∈[0,N-1-i) //每遍循环要处理的无序部分 swap(j,j+1) //两两排序(升序/降序)*/方式一:#include void main(){int b[11]={1,4,5,7,0,8,15,2,4,11,23};int原创 2012-10-27 20:20:12 · 309 阅读 · 0 评论 -
快速排序
// 快速排序 不稳定、时间复杂度O(nlogn) 空间复杂度 O(n)#includeint Partition(int a[], int low, int high) { int pivotkey = a[low]; while (low { //一趟的排序, 2个while中的"="不能少 ! while ((low =p原创 2012-11-24 21:22:45 · 378 阅读 · 0 评论 -
2分查找
#includeint binSearch(const int *Array,int start,int end,int key){ int left=start, right=end; int mid=0; while(left { mid=left+(right-left)/2; //防溢出 //注释中为递归算原创 2012-10-19 10:09:39 · 341 阅读 · 0 评论 -
深度、广度优先遍历算法C实现
深度、广度优先遍历算法C实现转载 2017-01-08 17:07:54 · 743 阅读 · 0 评论