自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 栈和队列——构造数组的MaxTree(java实现)

【题目】   定义二叉树节点如下:class Node{ public int value; public Node left; public Node right; public Node(int data){ this.value = data; }}一个数组的MaxTree定义如下:· 数组必须没有重复元素· MaxTree是一颗二叉树

2017-09-30 21:30:45 348

原创 C++ const和#define的异同

· const分配内存的时机是在编译器编译时期#include <iostream>int main(){ int a; const int b = 10; int c; //看地址的分配即可看出来是在编译期间分配内存 std::cout << &a << &b << &c;}· const和#define的相同之处int main(){ //int

2017-09-26 11:25:30 254

原创 C++ const基础和const符号表机制探究

一、const基础const修饰的是常量,定义的时候必须初始化,这里只做举例说明const int a; int const b; //以上这两种写法是一样的const int *c;  //const修饰的是指针所指向的内存空间,不能被修改 int *const d;  //const修饰的是指针变量,即指针变量本身不能被修改 const int *const e;  //指针变量以及其所

2017-09-25 23:16:07 2317 1

原创 链表问题——在单链表和双链表中删除倒数第K个节点

【题目】   分别实现两个函数,一个可以删除单链表中倒数第K个节点,另一个可以删除双链表中倒数第K个节点。【要求】   如果链表长度为N,时间复杂度达到O(N),时间复杂度达到O(N),额外空间复杂度达到O(1)【解答】   本题较为简单,实现方式也是多种多样的,这里只介绍一种方法。   先来看看单链表如何调整。如果链表为空或者K值小于1,这种情况下,参数是无效的,直接返回即可。除此之外,让

2017-09-24 20:59:51 708

原创 链表问题——打印两个有序链表的公共部分

【题目】   给定两个有序链表的头指针head1和head2,打印两个链表的公共部分。【代码实现】class Node{ public int value; public Node next; public Node(int data){ this.value = data; }}public void printCommonPart(Node h

2017-09-24 19:31:29 438

原创 C语言——puts() putc() getchar() gets() getch() getche()的用法

本来已经放弃了C语言,打算好好学Java,最近有朋友问这些问题,就顺便翻翻旧书,总结一下这几个函数的用法吧,博主最近生活很。。。懒惰,所以没有更新博客。。。一、puts() 输出字符串,遇到’\0’停止,并且把’\0’转换成回车换行eg:#include<stdio.h>int main(){ char a[] = "this is an example"; puts(a);

2017-09-22 21:59:46 1602 1

原创 栈和队列——生成窗口最大值数组

【题目】   有一个整型数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。   例如,数组为{4,3,5,4,3,3,6,7},窗口大小为3时:   {4 3 5} 4 3 3 6 7   4 {3 5 4} 3 3 6 7   4 3 {5 4 3} 3 6 7   4 3 5 {4 3 3} 6 7   4 3 5 4 {3 3 6} 7   4

2017-09-09 11:06:07 474

原创 栈和队列——用栈来求解汉诺塔问题(非递归)(java实现)

【题目】   汉诺塔问题比较经典,这里修改一下游戏规则:现在限制不能从最左侧的塔直接移动到最右侧,也不能从最右侧直接移动到最左侧,而是必须经过中间。求当塔有N层的时候,打印最优移动过程和最优移动总步数。【解答】   上一篇用的是递归的方法解决这个问题,这里我们用栈来模拟汉诺塔的三个塔,也就是不用递归的方法      原理是这样的:修改后的汉诺塔问题不能让任何塔从左直接移动到右,也不能从右直接

2017-09-06 13:17:02 2008 2

原创 汉诺塔问题(修改版)(java实现)

【题目】   汉诺塔问题比较经典,这里修改一下游戏规则:现在限制不能从最左侧的塔直接移动到最右侧,也不能从最右侧直接移动到最左侧,而是必须经过中间。求当塔有N层的时候,打印最优移动过程和最优移动总步数。【代码实现】   class Demo{ public static void main(String[] args){ int i = hanoi(3,"a","b","

2017-09-05 13:01:19 484 1

原创 汉诺塔问题(基础)(java实现)

汉诺塔是根据一个传说形成的一个问题。汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘(摘自百度百科)  汉诺塔问题,是一个递归问题,是一个将大事化小,小事化了的问题,

2017-09-05 07:27:21 855 1

原创 栈和队列——用一个栈实现另一个栈的排序

【题目】   一个栈中元素的类型为整形,现在想将该栈从顶到低从大到小顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序?【解答】   将要排序的栈记为stack,申请的辅助栈记为help。在stack上执行pop操作,弹出的元素记为cur。   · 如果cur小于或等于help的栈顶元素,则将cur直接压入help;   · 如果cur大于help的

2017-09-04 21:50:52 268

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除