自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 排序算法之冒泡排序

冒泡排序: 冒泡排序的思路: 对待排序序列从前向后进行排序(从前向后)依次比较相邻元素的值,若发现逆序则进行交换,使得值较大的数字逐渐往后移动 冒泡排序的特点: 1:一共要进行数组长度减一趟排序 2:每一趟需要进行排序的在减少 3:冒泡排序的时间复杂度有有点低,也就是效率有点低 冒泡的时间复杂...

2020-02-24 23:20:33

阅读数 15

评论数 0

原创 数据结构和算法之回溯递归“八皇后问题”

八皇后问题: 要求: 要求皇后不能再同一行,不能在同一列,也不能在同一个斜线上面 思路: 1:先要构造八皇后的棋盘:表示皇后应该摆放的位置;这个可以用一位数组进行表示:下标表示的是放在棋盘的第几行,数组中的值表示放在棋盘中的第几列 2:思路: (1):第一个皇后放在棋盘的第一行第一列 (2):第...

2020-02-22 23:20:52

阅读数 11

评论数 0

原创 数据结构和算法之简单的迷宫问题

迷宫问题 思想: 用递归解决迷宫问题 1:先创建迷宫,用二维数组模拟迷宫地图 2:制定一个策略:例如先下→右→上→左等等 3:设置一些标识信息:例如:0表示还没有走过;1表示的是墙走不通;2表示这个点可以通;3表示已经走过但是走不通 实现迷宫代码和说明: 1:用二维数组进行创建迷宫地图: ...

2020-01-16 16:59:11

阅读数 21

评论数 0

原创 数据结构和算法之归并排序

归并排序 (1)思想:就是分而治之 1:通俗的来说就是,在分的过程中进行比较,然后合并起来就会变成有序 2:归并排序的特点:归并排序的时间复杂度是很低的:因为他的复杂度只是数量减一即可。但是归并排序需要额外的空间开销 3:总的思路就是,将每一份数列都分成左右两边直至分到最后还剩一个,然后在分的递...

2019-12-26 22:13:55

阅读数 7

评论数 0

原创 数据结构和算法之栈2

数组模拟实现栈2 (1)简述前缀,中缀和后缀表达式: 1·1:也就是对算术表达式构成树之后,对树进行前序,中序,后序遍历后所得到的结果,即称为前中后缀 /*1·前缀表达式:(也就是将表达式进行二叉树进行前中后序进行遍历)前缀表达式又名叫波兰表达式 *特点:运算符都位于操作数之前 * 2·中...

2019-12-26 22:01:11

阅读数 15

评论数 0

原创 数据结构和算法之栈1

数组模拟栈 将数组模拟成栈的思想: //用数组模拟栈的思想: * 1·先创建栈,用数组 * 2·定义一个变量top表示栈顶,初始化为-1 * 3·入栈:top++,stack[top]=val,要进行栈满的操作 * 4·出栈:数据取出:int value=stack[top];top--即可,要进...

2019-12-26 21:34:31

阅读数 30

评论数 0

原创 数据结构和算法之环形链表

约瑟夫环问题: 思想: 因为是循环,所以我们可以考虑环形链表,当然还可以用数组取模来进行实现 实现的步骤: 1·首先先要构成一个环形链表 1·1:先创建一个新的节点,并让first变量指向该节点,并先让自身形成环形 1.2:将后面产生的心得节点假如环形链表中即可 2·考虑...

2019-12-23 14:47:59

阅读数 12

评论数 0

原创 数据结构和算法之队列

数组模拟队列 将数组模拟成队列的思想: /*将数组模拟成队列的思想: * 1·因为是先进先出,所以我们可以采用尾巴添加值进入数组,头部从数组中将值取出,然后将下标进行++ * 2·front指向的是头元素的前一个位置,也就是说arr[front+1]才是表示队列的第一个元素 * 3·rear指向的...

2019-12-20 20:25:59

阅读数 37

评论数 0

原创 数据结构和算法之稀疏数组

稀疏数组: 稀疏数组的产生: 当一个数组中值大部分为0或者为一个固定值的时候,我们可以采用稀疏数组进行保存 稀疏数组的组成: 稀疏数组是一个n行3列的数组,所以说稀疏数组是一个二维数组,但遍历的时候只用 一层循环 即可遍历完;稀疏数组的第一行保存的就是原始数组的行列值和原始数组中的非0值的个数; ...

2019-12-19 22:51:27

阅读数 16

评论数 0

原创 数据结构和算法之归并排序

归并排序 思想: 分治策略(就是分治法是将大问题划分成一个一个的小模块采用递归求解;而治的阶段就是在分的阶段进行一些 “修补” 的行为 即分而治之) 步骤和相关代码: 1·先将数组中的数据用递归算法分解成小模块的数据(也就是将大问题分解成小问题) //将数组中的数据进行分治 public st...

2019-12-19 21:44:53

阅读数 13

评论数 0

原创 面向对象编程

面向对象编程的重点: 多态: 1·向上转型: 就是说父类引用子类的对象; 例如: Animal1 animal=new Cat1(); 就称为向上转型 class Cat1 extends Animal1{ public Cat1(String name, int age,String sex...

2019-11-20 14:42:06

阅读数 28

评论数 0

原创 面向对象编程

面向对象编程部分重点 面向对象编程主要由包,继承,组合,多态,抽象类,接口组成 包: 就相当于一个文件夹,是组织类的一种方式,使用包是为了保证类的唯一性;包的命名也是有规范的一般是小写字母,采用公司的倒序形式命令。 导入包中的类: 其实java中已经导入了很多现成的包供我们使用,例如:java.u...

2019-11-19 20:14:25

阅读数 18

评论数 0

原创 单链表常见习题总结

单链表常见习题总结2 10:删除所有关键值为key的节点 //10:删除所有关键值为key的节点 public void removeAllKey(int key) { if (this.head == null) { return; ...

2019-11-07 18:17:49

阅读数 20

评论数 0

原创 单链表

单链表常见习题总结1: 1:头插法 //1:头插法 public void addFirst(int data) { ListNode node = new ListNode(data);//要插入的节点,进行初始化 // 1.是否是第一次插入:因为head...

2019-11-04 21:24:24

阅读数 16

评论数 0

原创 类和对象

java找那个类和对象的知识总结: 首先说说类和对象是什么? 简单的说,类就相当于一个模板,对象就相当于一个实体;对象里面有属性和方法;属性又包括字段和成员;成员又包括实力数据成员和静态数据成员;一个类可以产生多个对象;在java中通过new关键字实现创建一个对象。 如何产生一个对象呢? 为对象...

2019-11-04 18:38:31

阅读数 26

评论数 0

原创 实现交换两个变量的值。要求:需要交换实参的值

实现交换两个变量的值。要求:需要交换实参的值 交换实参的值思想: C语言: 在C语言中可以通过传地址的方式改变变量中的值;就是通过定义指针保存两变量的地址 java: 而在java中是没有指针类型的变量,所以说只能采用按引用传递,实质就是按值传递 java代码如下所示: public class ...

2019-10-24 16:53:41

阅读数 59

评论数 0

原创 java中数组知识的总结

java中数组知识的总结 数组: 1. 1:一维数组的定义: 规则一维数组的定义:        int [] array={1,2,3,4,5,6};//属于静态的初始化        int [] ar...

2019-10-19 19:03:38

阅读数 198

评论数 1

原创 数据类型和几个基础方法

Windows编码是以GBK的形式进行编码; Linux编码是以UTF-8的形式编码; 若在 .java 文件中加了块注释并在 DOS 系统下编译就要在编译选项选择 UTF-8 去编译 命令行形式进行编译:javac -encoding UTF-8 Test.java C语言中以ASCII码进行...

2019-09-28 22:28:03

阅读数 12

评论数 0

原创 C语言编写函数unsigned int reverse_bit(unsigned int value); 这个函数的返回值是value的二进制位模式从左到右翻转后的值。

编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值是value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550...

2019-09-27 22:52:24

阅读数 15

评论数 0

原创 十进制向其他进制的转换

十进制向二进制和十六进制的转换 首先了解什么是二进制,二进制就是有0和1组成的数字,运算的算法就是逢2进1;就相当于十进制的逢10进1一样;既然说到十进制那么我们就先说说十进制 十进制是怎么得到每位上的数字吗? 如果是一个一位数的怎么得到这位数字,不就是对十取余么 例如:8  ...

2019-09-27 22:44:32

阅读数 58

评论数 0

原创 冯诺依曼结构体系

冯诺依曼结构体系 冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构;程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。 它由五个部分组成:输入,输出,存储...

2019-09-27 21:18:49

阅读数 31

评论数 0

原创 C语言操作符

C语言操作符的重点总结: 算术操作符: +  -   *   /   % 1. 除了模(%)操作符除外,其他几个操作符可以用于整数和浮点数;     例如:不可以出现8.5%4.1等类似的,模运算的...

2019-09-23 16:58:23

阅读数 11

评论数 0

原创 C语言编程实现一组数据中只有一个数字出现了一次。 其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)

编程实现: 一组数据中只有一个数字出现了一次。 其他所有数字都是成对出现的。 请找出这个数字。(使用位运算) **思想:**怎样证明是成对出现呢,可以用异或运算,1:因为自己和自己异或肯定会变成0;:2:c=a^ b; d ^ c = d^ (a^b) 所以代码如下所示: #include<...

2019-09-22 22:27:20

阅读数 22

评论数 0

原创 C语言不用(a+b)/2这种方式,求两个数的平均值

不使用(a+b)/2这种方式,求两个数的平均值 思想:(a+b)/2就是a和b加起来整除一个2,整除2回联想到算术右移一位相当于整除2,所以就可以变成(a+b)>>1 代码如下所示: #include<stdio.h> int main() { int a, b; pr...

2019-09-22 22:12:52

阅读数 21

评论数 0

原创 C语言打印杨辉三角

在屏幕上打印杨辉三角 **思想:**杨辉三角的规律就是三角形的腰上的两条边的值都位1;从第三行开始除了外层是1的,当前位置的值等于上一行同列和上一行列减一的值的相加值,可以用二维数组进行对杨辉三角的存储,然后在屏幕上将二维数组输出即可。 代码如下图所示: #define _CRT_SECURE_N...

2019-09-22 14:34:02

阅读数 280

评论数 0

原创 C语言扫雷游戏

扫雷游戏 思想: 1.用二维数组存储雷的信息和雷并进行初始化,打印出棋盘 2.设置雷数组的参数 3.进行扫雷,并判断输赢 代码如下所示: main()函数即主函数:一个程序的入口 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #...

2019-09-22 00:00:34

阅读数 47

评论数 0

原创 C语言实现三子棋游戏

三子棋游戏程序 **思想:**首先要有个棋盘,咱们棋盘用二维数组实现 **第一步:**写一个switch语句让用户选择玩还是不玩,玩的话就实行第二步,要是不玩的话直接退出游戏; **第二步:**初始化棋盘为空格并打印棋盘,然后就玩家下棋子,打印玩家下了的棋盘,接着电脑下,并打印电脑下好的棋盘,这里...

2019-09-20 21:35:36

阅读数 37

评论数 0

原创 C语言写递归函数得到一个数组成它的数字之和

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 思想: 将问题化小,1.自己调用自己;2.终止条件 一个数组成它的数字之和,无非就是得到每位上的数字,即可以用取余和整除得到 2.终止条件...

2019-09-16 17:01:04

阅读数 97

评论数 0

原创 C语言求字符串长度

求字符串的长度 有两种方法 第一种: 非递归:思想很简单就是调用<string.h>库函数中的strlen()函数即可 代码如下所示: #include<stdio.h> #include<string.h> int main() { char *str = ...

2019-09-16 12:22:40

阅读数 48

评论数 0

原创 C语言写出猜数字游戏的代码

猜数字游戏,即电脑生成随机数,根据用户输入猜大猜小最终实现猜对数字 思想:电脑生成随机数跟用户输入的那个数进行比较,若大了或者小了继续猜,这里可以写个死循环知道猜对才可以跳出来 代码如下所示: #include<stdio.h> #include<stdlib.h> voi...

2019-09-14 23:49:15

阅读数 321

评论数 1

原创 C语言打印出0~n之间的所有素数的代码及其优化代码和思想

打印0~n之间的素数 代码如下所示: #include<stdio.h> void Isprime(int n) { int i,j; for (i = 2; i <= n; i++)//产生了2~n个的数字,因为1不 { for (j = 2; j <= i; ...

2019-09-14 18:28:44

阅读数 156

评论数 0

原创 C语言实现交换两个变量中的数值

交换两个变量里面的值 建立第三方变量就可以啦 代码如下: #include<stdio.h> int main() { int a = 50; int b = 70; int temp = 0; printf("交换前的值为%d,%d\n", a, b); ...

2019-09-14 16:54:37

阅读数 61

评论数 0

原创 c语言打印出水花数,四叶玫瑰数,五角星数等等的数字

求出0~999999之间的所有“水仙花数”并输出。 “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身, 如;153=13+53+3^3?,则153是一个“水仙花数”。 1234=1^4 + 2^4 + 3^4 +4^4 在数论中,水仙花数(Narcissistic number)也称...

2019-09-14 00:00:47

阅读数 372

评论数 0

原创 吾日三省

程序猿小姐姐的中文代码 我呢,叫杨柳,来自于计算机学院的一名学生,可谓说是妥妥的IT女啦,新学期新开始,我发现所有人的精神面貌变得阳光,变得刚正起来了再也不是以前的那种IT肥宅的萎靡样子和上课认真听讲与下课积极研究讨论的热爱学习的样子了,真的是太爱这种学习氛围了,依稀还记得大一刚来的时候...

2019-09-05 22:46:48

阅读数 86

评论数 2

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