- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 大根堆排序
建立大根堆,处于堆顶的元素heap[0],则是最大的数,将这个heap[0]与最后一个元素交换,即与heap[n-1],交换,则最大的数被到了最后,再对heap[0]与heap[n-2]这些数根据大根堆调整,这些最大数又被调整到了heap[0],再将heap[0]与heap[n-2]对换,对heap[0]与heap[n-3大根堆调整typedef struct minHeapMax
2013-10-07 15:09:49 1820 7
原创 二叉排序树的删除
在二叉排序树中删除一结点,要考虑删除点子树的情况,在删除了指定点后,要将其子树重新链接起来,分情况计论,如果想要删除叶结点,只需将其父结点指向它的指针,指向NULL,再释放它即可,如果被删除结点的右子树为空,可以拿它的左子树结点顶替它的位置,再释放它,如果被删结点的左子树为空,可以拿它的右子树结子顶替它,如果被删结点左右子树都不空,可以在它的右子树中寻找中序的第
2013-10-05 08:04:07 679
原创 堆排序
如果集合k={K0 ,K1 ,K2,。。。。。,Kn-1,},将其按完全二叉树的顺序存储方式存放在一个维数组中,并且满足Ki K2i+1 , Ki K2i+2 其形式就是根结点小于其子结点,这种形式称为小根堆,当然根结点大于其子结点,则为大根堆创建一个小根堆,开始的形式为数组 A[8]={53,17,78,9,45,65,87,23};树的形
2013-10-05 00:57:44 494
原创 判断一棵二叉树是否是二叉排序树
判断一棵二叉树是否是二叉排序树,可以通过中序遍历来检查,为此要设置一个指针pr指示二叉树中当前结点的中序直接前驱,每访问一个结点,就比较当前访问结点的关键值是否大于ptr所指结点的关键字值,如果遍历了所有结,各结点与其中序直接前驱点都 是后一个大于前一个,则为二叉排序树。void binSearchTree(BSTree root,BSTree &ptr,int &bs){
2013-10-04 16:04:48 2441
原创 二叉排序树的创建
首先二叉排序树的查找,这里father用于记录访问点的前序,如果找到关键字,也就是程序中的e,则p指向这个结点,而father则指向p的父结点,如果没有找到关键字,则father指向查找路径上的最后一个结点,也可以理解为要插入的结点(关键插入father的左子树或者右子树)typedef struct node { int data; struct node *lc
2013-10-04 14:14:46 524
原创 快速排序算法
在一本书上看到一个快速排序的一个解法,写完整试验了一下,排序没能成功int partition(int A[],int low,int high){ int temp; int pivot = a[low]; int i = low+1; int j = high; while(i while(i while
2013-09-23 21:08:58 375
原创 关于删除顺序表中最小的值
删序顺序表中最小的值 ,先用c语言的,写的过程中发现c语言不支持布尔型 compile有错误,所以直接改了源文件的后缀,变成cpp了,所有源程序看起来很怪(c++源文件中的纯c代码)#include #include #define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef struct sqlist{
2013-06-01 16:27:14 899
原创 关于单链表的两种创建方式
第一种方式是将新创建的单链表结点加在链表头,这种方式要注意的是最先输入的值是这个链表尾的值 在 |new linkNode2 | ---- > |new linkNode 1|----->第二种方式是将新创建的单链表结点加在链表尾#include #include typedef int dataType;typedef struct
2013-05-31 14:43:05 636
原创 关于JRadioButtonMenuItem的使用
创建菜单选项 JRadioButtonMenuItem 这是部分代码: JMenu myMenu = new JMenu("Color"); JMenu myMenu2 = new JMenu("Color"); myMenu.add(myMenu2); myGroup = new Butt
2013-05-24 16:56:57 2100
原创 c/c++中的值传递,地址传递,引用传递
总结 : 在c中传值是值传递,地址传递 c++中才有了引用传递的概念 地址传递的引用方式是function(int * x){*x = *x + 10;}int a=10;function(&a);引用传递function2(int $x){x =x + 10}int a=10;function(a);可以看到两个调用函
2013-05-23 16:43:05 436
Effective.Enterprise.Java.
2012-05-24
JAVA网络编程实例
2012-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人