排序算法总结
摘要:内排序:指在排序期间数据对象全部存放在内存排序; 外排序:指大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次全部加载到内存中,需要在内存和外部存储器之间进行多次数据交换,以达到整个排序文件的目的。 分类 排序算法 排序基本思想(升序) 交换排序 冒泡排序 1、首先将第1个和第2个关
阅读全文
posted @
2019-09-10 19:45
Love63
阅读(338)
推荐(0)
常用数据结构总结
摘要:常用的数据结构 特点 优缺点 数组 1、内存连续 2、所有数据类型相同 3、数组的大小固定 4、线性结构 支持随机访问; 插入和删除效率低; 链表 1、内存不连续 2、线性结构 不支持随机访问; 插入和删除效率高; 栈 1、先进后出 2、只能在表的一端插入和删除元素 3、线性结构 队列 1、先进先进
阅读全文
posted @
2019-09-02 21:56
Love63
阅读(291)
推荐(0)
链表反转
摘要:题目描述 输入一个链表,反转链表后,输出新链表的表头; 解题思路: (1)新建一个链表,表头为原链表的第一个结点; (2)则原来链表的表头为第二个元素; 注:最后要将新链表的最后一个结点的next指针赋值为空。 输入一个链表,反转链表后,输出新链表的表头; 解题思路: (1)新建一个链表,表头为原链
阅读全文
posted @
2019-07-21 23:46
Love63
阅读(151)
推荐(0)
二叉树的常用操作
摘要:/* 二叉树 1、创建二叉树 2、先序遍历 3、中序遍历 4、后序遍历 5、二叉树的深度 6、二叉树的镜像 */ #include "stdafx.h" #include #include #include using namespace std; typedef struct BiNode //声明二叉树 { char data; struct BiNode *lchild, *r...
阅读全文
posted @
2016-10-08 21:47
Love63
阅读(267)
推荐(0)
重建二叉树
摘要:题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 1 /** 2 * Definition for b
阅读全文
posted @
2016-09-01 17:05
Love63
阅读(134)
推荐(0)
从尾到头打印链表
摘要:题目描述 输入一个链表,从尾到头打印链表每个节点的值。 输入描述: 输入为链表的表头 1 /** 2 * struct ListNode { 3 * int val; 4 * struct ListNode *next; 5 * ListNode(int x) : 6 * val(x), next(
阅读全文
posted @
2016-09-01 15:40
Love63
阅读(115)
推荐(0)
逆序创建链表及链表反转和中间位置反转
摘要:1 #include 2 using namespace std; 3 typedef struct LNode 4 { 5 int data; 6 LNode *next; 7 }LNode,*LinkList; 8 //逆位序输入n个元素的值,建立带头结点的单链线性表 9 LinkList createLinklist(LinkList &L) 10 {...
阅读全文
posted @
2016-09-01 11:09
Love63
阅读(286)
推荐(0)
直接插入排序
摘要:1、直接插入排序 在一个有序表中插入一个元素形成一个新的表长加1的有序表。 #include <iostream>using namespace std;//直接插入排序void insertSort(int *arr,int length){ for (int i = 1; i <= length
阅读全文
posted @
2016-08-18 21:07
Love63
阅读(145)
推荐(0)
折半查找(递归和非递归实现)
摘要:1 #include "stdafx.h" 2 #include 3 using namespace std; //折半查找(非递归调用) 6 bool binarySearch(int *arr,int low,int high,int key) 7 { 8 while (low key) { 11 high = mid - 1; 12 ...
阅读全文
posted @
2016-08-17 22:12
Love63
阅读(496)
推荐(0)