- 博客(48)
- 收藏
- 关注
原创 多线程的创建(两种方法)
多线程的创建对于多线程的实现,有两种方式,一种是通过继承Thread类来实现,一种是通过实现Runnable接口来实现多线程。下面我将举个栗子来说明两者的具体实现关于多个窗口卖票的问题1.继承Thread类1.创建一个继承Thread类的子类2.重写run()方法3.创建其子类对象4.通过此对对象调用start()方法class Window extends Thread { ...
2020-01-29 00:04:21
390
原创 java的JDBC编程
JDBC的介绍 JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。 这个API由java.sql.*,javax.sql.*包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。JDBC的工作原理 JDBC 为多种关...
2019-12-02 19:47:28
218
原创 对于排序的总结
插入排序插入排序原理把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。代码实现:public static void insertSort(int[] array) { // bound 变量来把整个数组分成两个区间 // [0, bound) 已排序区间 // [b...
2019-11-24 23:30:56
208
原创 对于堆的总结
一.堆1.1 堆的概念堆逻辑上是一棵完全二叉树。堆物理上是保存在数组中。(使用数组保存二叉树结构,方式即将二叉树用层序遍历放入数组)满足任意结点的值都大于其子树中结点的值,叫做大堆,或者大根堆,或者最大堆 。反之,小堆,或者小根堆,或者最小堆 。堆的基本作用是,快速找集合中的最值。1.2堆的操作 --向下调整前提:已经是一个堆了说明:1.array 代...
2019-11-22 18:04:37
280
原创 java实现二叉树的遍历(非递归)
前序遍历public List<Integer> preorderTraversal(Node node) { List<Integer> result = new ArrayList<>(); if (node == null) { return result; } S...
2019-11-15 23:52:01
94
原创 二叉树的创建及遍历(java实现)
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树 。树的基本概念...
2019-11-15 22:37:26
323
原创 java面向对象总结
面向对象的概念:1.面向对象是思考问题的一种思考方式,是一种思想。比如:概念与实例。理论与实践。名和实等等。。2.类就是一类对象的统称。对象就是这一类具体化的一个实例。3.面向对象的好处:将复杂的事情变简单了,只要面对一个对象就行。面向对象的三大特性:封装性、继承性、多态性继承class 子类 extends 父类 {}...
2019-11-08 16:08:48
200
原创 异常使用总结
异常的概念异常是指程序在运行时出现错误通知调用者的一种机制。 运行时指的是程序已经编译通过得到 class 文件了, 再由 JVM 执行过程中出现的错误。异常的种类有很多,不同种类的异常具有不同的含义, 也有不同的处理方式。举个栗子:public class Test { public static void main(String[] args) { ...
2019-10-27 12:23:09
247
3
原创 图书管理系统(简易版)
根据题目分析,有这几部分内容查找书籍界面 , 如何和用户交互 ,用户错误信息操作的具体信息。普通用户 查找书籍 借阅书籍 归还书籍管理员 查找书籍 增加书籍 删除书籍 打印所有书籍信息在book 包中实现书,以及书单的操作。package BookManage.book;//关于一本书的...
2019-10-20 23:40:25
1535
1
原创 K 个一组翻转链表
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->...
2019-10-19 11:28:28
165
1
转载 数制与数制的转换
一、数制与数制转换数制:进位计数制,采用进位的方式来计数八进制和十六进制可以方便的与二进制进行相互转换,因此这两种进制一般可以用来表示数值较大的二进制。1)权:把一种数制中各位计数符号为1时所代表的数值称为该数为的“权”2)任何一个十进制数可以表示为:3)二进制二进制简单的特点为:二进制运算规则简单:3)十六进制和八进制十六进制的表示方法:八进制的表示方法:4)二进...
2019-09-10 16:31:17
2304
原创 变量和运算符总结(java)
变量:程序运行时可变的量,相当于开辟一片内存来保存数据那么如何来保存数据呢?计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。1B(字节) = 8bit1KB = 1024B1MB = 1024KB1GB = 1024MB1TB = 1024GB...
2019-09-09 20:56:12
114
1
原创 动态扩容版通讯录(不含文件)
每个人的信息包括:姓名、性别、年龄、电话、住址添加联系人信息删除指定联系人信息查找指定联系人信息修改指定联系人信息显示所有联系人信息清空所有联系人以名字排序所有联系人#ifndef _CONTACT_H_#define _CONTACT_H_#include<assert.h>#include<stdio.h>#include<stdl...
2019-07-29 17:06:10
209
转载 结构体知识的总结
结构体类型创建结构体初始化结构体内存对齐位段,位段计算机大小。枚举+联合。在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。...
2019-07-04 15:33:16
187
原创 对于一级指针和二级指针理解
使用指针来读取数据,在重复性操作的状况下,可以明显改善程序性能,例如在遍历字符串,查取表格,控制表格及树状结构上。对指针进行复制,之后再解引用指针以取出数据,无论在时间或空间上,都比直接复制及访问数据本身来的经济快速。#include<stdio.h>void Print(int *p){ *p=98;}int main(){ int i=99; int ...
2019-07-03 23:18:13
351
原创 数组指针与函数指针,函数指针数组转移表的使用,指向函数指针数组,回调函数的使用
1.理解数组指针2.理解函数指针和定义3.理解函数指针数组和定义,转移表4.理解指向函数指针数组的指针和定义5.理解回调函数的使用数组指针指向数组的指针首先是一个指针,然后指向数组int(*p)[10] 因为[]优先级高于 * 因此用()使 * 和p结合关于数组指针和数组int a[2][3];int (*p)[3]; p=a ;//数组a的首...
2019-07-01 16:07:50
172
原创 C语言模拟实现strncmp函数
strncmp函数int strncmp( const char *string1, const char *string2, size_t count );string1, string2 为需要比较的两个字符串,count 为要比较的字符的数目。字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strncmp()首先将s1 第一个字符值减去s2 ...
2019-06-24 21:19:41
629
原创 memcpy函数与memmove函数的区别与模拟实现
memcpy函数void *memcpy( void *dest, const void *src, size_t count );经查阅:The memcpy function copies count bytes of src to dest. If the source and destination overlap, this function does not ...
2019-06-24 20:46:10
136
原创 c语言模拟实现strchr函数
strchr函数char *strchr( const char *string, int c );功能:查找字符串string中首次出现字符c的位置说明:返回首次出现c的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果string中不存在c则返回NULL。返回值:成功则返回要查找字符第一次出现的位置,失败返回NULLchar *MyS...
2019-06-24 16:09:06
887
1
原创 c语言模拟实现strstr函数
strstr函数char *strstr( const char *string, const char *strCharSet );函数用于判断字符串strCharSet是否是strtring的子串。如果是,则该函数返回strCharSet在string中首次出现的地址;否则,返回NULL。char *MyStrstr(const char *str1, const c...
2019-06-24 15:41:23
245
原创 C语言模拟实现strncat函数
strncat函数char *strncat( char *strDest, const char *strSource, size_t count );strSource:源字符串strDest:目的字符串把源字符串所指字符串的前n个字符添加到目的字符串结尾处(覆盖目的字符串结尾处 的’\0’),再追加’\0’。说明:源字符串和目的字符串所指内存区域不可以重叠,并且...
2019-06-23 22:20:41
428
原创 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 给20元,可以多少汽水。 编程实现
实现int Mount(int money){ int num = money; int bottle = num;//20块可以拥有20个空瓶 while (bottle >= 2) { num += bottle/2; //20瓶可以换的汽水 if (bottle % 2 == 0) { bottle /= 2; } else { bott...
2019-06-21 11:36:48
200
原创 一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个只出现一次的数字,编程实现。
方法一:遍历,查找定义一个标志flag,利用for循环嵌套遍历数组,若arr[i]=arr[j],i!=j,说明这个数字出现了两次,flag=1.void Search1(int *arr, int len){ int i; int j; int flag = 0; printf("只出现一次的两个数字:"); for (i = 0; i < len; i++) { f...
2019-06-21 11:30:53
828
原创 C语言实现strncpy函数
strncpy 函数char *strncpy( char *strDest, const char *strSource, size_t count )一. 函数简介strDest:目的字符串strSource:源字符串count:复制字符个数作用:将源字符串中最多count个字符复制到目的字符串中,返回指向目的字符串的指针。int main(){ char...
2019-06-18 21:17:24
6113
2
原创 c语言实现stcmp函数
strcmp函数int strcmp( const char *string1, const char *string2 );一 . 函数介绍string1和string2可以使字符串常量或者字符串变量,返回值为整型函数所用是比较两个字符串的大小若string1>string2返回正数若string1<string2返回负数若string1=strin...
2019-06-17 00:11:45
1494
原创 c语言实现strcat函数
char *strcat( char *strDestination, const char *strSource );一.函数介绍作用:连接字符串的函数,函数返回指针,两个参数都是指针,第一个参数所指向的内存必须能容纳两个字符串连接后的大小strSource:源字符串strDestination:目的字符串 int main(){ char dest[20]...
2019-06-16 16:18:50
13379
3
原创 c语言实现strcpy函数
char *strcpy( char *strDestination, const char *strSource );一.strcpy函数的介绍strcpy函数:把含有’\0’结束符的字符串复制到零一个地址空间,返回值的类型为char*strDestination是目的字符串strSource是源字符串int main(){ char dest[20] = {...
2019-06-16 10:46:53
2755
原创 判断一个字符串是否为另外一个字符串旋转之后的字符串
2.判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 =AABCD和s2 = BCDAA,返回1给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAAAABCD右旋一个字符得到DAABCint is_left_move(char *arr, const char *p){}#include<std...
2019-06-15 15:35:34
235
原创 实现一个函数,左旋字符串中的k个字符
实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDABvoid left_move(char *str, int k){}【解题思路】传入想要左旋次数的参数,每左旋一次定义一个变量tmp=str[0],利用for循环将数组后一位字符,赋给前一位。最后给数组最后一位赋值tmp。完成一次的左旋#include<stdio.h>...
2019-06-12 21:55:49
124
原创 杨氏矩阵中,定义一个函数查找数字
//杨氏矩阵有一个二维数组.数组的每行从左到右是递增的,每列从上到下是递增的.在这样的数组中查找一个数字是否存在。时间复杂度小于O(N);数组:1 2 32 3 43 4 51 3 42 4 54 5 61 2 34 5 67 8 9【解题思路】因为数组的每行从左到右是递增的,每列从上到下是递增的.定义行 i,列 j 置于一行中最后一位(即一行中最大的数字),定义...
2019-06-07 17:49:50
109
原创 调整数组使奇数全部都位于偶数前面
调整数组使奇数全部都位于偶数前面。题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。【解题思路】将数组分为两部分,前半部分存储奇数,后半部分存储偶数,定义 i 和 j两个下标,i 指向数组首地址,j 指向数组末地址,遍历数组前半部分,若是偶数,暂停,等待交换数字。否则,继续遍历。数组后半部分同理。#incl...
2019-06-07 17:34:50
232
原创 交换两个数字,不设置变量
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>//111 a//011 b//100 a//111 b//011 avoid Swap(int a, int b){ a = a^b; b = a^b; a = a^b; printf("a=%d,b=%d\n", ...
2019-06-01 00:14:52
151
原创 找出数组中只出现了一次的数字/将字符数组的内容为:"student a am i", 改为"i am a student
一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)【解题思路】0异或任何数字都等于数字本身。相同数字异或为零int Seek_num(int arr[],int len){ int ret = 0; for (int i = 0; i < len; i++) { ret = ret^arr[i]; } return ret;...
2019-05-27 16:28:54
159
原创 关于求取a+b平均数的求取
计算两个数的平均数【1】int Avg_Num(int a, int b){ int num = 0; num = (b + a) / 2; return num;}【2】右移操作符 >>逻辑移位情况下0000 0000 0000 0000 0000 0000 0000 00110000 0000 0000 0000 0000 0000 0000 0001相当...
2019-05-27 00:52:46
782
原创 实现数值二进制模式下翻转
编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值是value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:25...
2019-05-27 00:09:18
157
原创 一个简单的扫雷游戏
扫雷游戏:1.初始化游戏界面,利用rand()随机布雷。2.打印游戏界面。3.扫雷中输入坐标周围雷的个数,界面为99,但要遍历周围的八个坐标,因此设置一个界面为1111,方便之后的计算。game.h#include<stdio.h>#include<stdlib.h>#include<math.h>#define ROW 9#define CO...
2019-05-24 22:06:09
200
原创 确定五名跳水运动员比赛名次/确定凶手/打印杨辉三角
1.5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。(1)利用循环确定每个人可能的名次(2)因为名次不能重复abcde=120(3)因为个人各说对一半((b == 2)+ (a == ...
2019-05-23 22:29:40
172
原创 关于操作符//写一个函数返回参数二进制中 1 的个数/获取一个数二进制序列中所有的偶数位和奇数位/输出一个整数的每一位/两个整数m和n的二进制表达中,有多少个位不同
1.写一个函数返回参数二进制中 1 的个数比如: 15 0000 1111 4 个 1程序原型:int count_one_bits(unsigned int value){返回 1的位数}#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int count_one_bit...
2019-05-22 19:57:59
135
原创 用C语言编写一个简单的三子棋游戏,实现电脑与用户对弈
源代码:头文件game.h#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#define ROW 3#define COL 3void InitBoard(char board[RO...
2019-05-21 23:05:12
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人