- 博客(3)
- 资源 (9)
- 收藏
- 关注
原创 堆排序C++实现
满二叉树:所有分支节点多有左右孩子,而且所有叶子节点都在同一层的二叉树称为满二叉树完全二叉树:对一棵二叉树按层序编号,编号为i(1<=i<=n)的节点与同样深度的满二叉树中编号为i的节点在二叉树中的位置完全相同,这个二叉树就称为完全二叉树堆:每个节点都小于或等于(大于等于)左右孩子的完全二叉树堆排序步骤 把初始数组调整成一个堆 将堆顶元素和数组的最后一个元素交换位置,此时的最后一个元素
2016-08-14 19:14:10 853
原创 快速排序C++实现
快速排序是对冒泡排序的一种改进,冒泡排序一次只能移动一次,而快速排序一次就能将大于轴值的数移动到轴值的后面(升序),减少了移动的次数#include<iostream>using namespace std;int oneSort(int a[],int x,int y); //一次划分函数void qSort(int a[],int,int); //快速排序函数int main(){
2016-08-14 15:29:50 5659 2
原创 一个数组中,除了有两个数字只出现一次外,其他数字都出现两次,求出这两个出现一次的数字
求出两个只出现一次的数字首先,我们知道两个相同的数字进行异或操作时为0,如果题目里面只有一个数字出现一次的话,我们就可以直接对数组中的所有数字进行异或操作,最后得到的数字就是单独出现的那个数字,但是题目中给的是2个出现一次的数字,那我们尝试可以把这个数组拆分成两个数组,将两个出现一次的数字分到不同的组里面,在进行异或操作<?php$arr=array(1,1,2,2,3,3,4,5,4,5,7
2016-08-12 11:17:19 2628 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人