- 博客(16)
- 问答 (1)
- 收藏
- 关注
原创 链表的创建、遍历、查找、插入、删除
一、链表的创建(头插法、尾插法)1、准备工作:#include<stdio.h>#include<stdlib.h> //提供 malloc 和 free 函数typedef struct node{ //typedef 是重新定义数据类型 struct node int data; struct node *next;}NODE,*PNODE;2、头插法://头插法创建链表PNODE HeadInsert(int n){ int i,temp; PNO
2021-02-20 22:02:32 3683
原创 判断树是否是二叉排序树
#include<stdio.h>#include<stdlib.h>typedef struct Node{ int data; struct Node *lchild,*rchild;}Node,*PNode;一、创建二叉排序树:s 和 p 的先后关系要注意,p 最后会为 NULL。//创建二叉排序树 PNode CreateBiTree(int a[],int n){ int i,j,k,flag; PNode p,q,s,t; if(n<=0
2021-02-20 21:56:19 3750 4
原创 常见查找和排序算法汇总
主要内容:顺序查找、折半查找-------查找算法冒泡排序、简单选择排序、直接插入排序、希尔排序、归并排序、快速排序、堆排序------排序算法一、查找1、顺序查找从最后一个记录开始,逐个进行比较,若相等则查找成功,否则查找失败。//顺序查找 a[1 - len]int Sq_Search(int a[],int key,int len){ int i; //哨兵,使内循环不用判断数组是否越界,提高程序运行效率,减少查找时间 a[0] = key; for(i = len;a[
2021-02-20 21:54:26 3421
原创 IDEA里 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 问题解决
用IDEA写Java MySQL程序时遇到的问题。在我使用 Class.forName(Driver); 语句后系统报错:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver原因:网上查阅资料后发现是没有导入mysql-connector-java-XXX jar包(我导入过,但导入的是zip文件,文件实际要的是jar文件,忘了解压)。解压后的文件目录结构:特别的:mysql jar 1.6版本以上要使用 com.mysql.cj.jd
2020-08-05 17:17:06 1042
原创 java.sql.SQLException: The server time zone value ‘�й���ʱ��‘ is unrecognized or represents more
今天用IDEA写Java MySQl程序时遇到的问题:java.sql.SQLException: The server time zone value ‘�й���ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a
2020-08-05 16:58:14 1101
原创 Java 线程的简单使用 快速上手
可能会有很多人觉得Java线程不容易理解,但通过循序渐进的方法,理解Java线程就会变得很简单!一、基本知识Java的线程相当于一个单独的任务,这个任务由 run() 方法来实现,线程的实现,就是 run() 方法的实现。run() 方法的实现,常用的有两种:1、继承 Thread 类,因为 Thread 类里有 run() 方法。2、实现 Runnable 接口,因为 Runnable 接口里有 run() 方法。为了程序的灵活性,常常使用第 2 种方法。(注:在Java中,一个类只可以继承
2020-08-01 17:33:16 173
原创 Java多线程同步 synchronized关键字的简单使用
Java有许多进程同步的方法,其中synchronized关键字的使用比较简单。Java每个对象都有一个内部锁,用synchronized关键字直接修饰方法,可以在方法调用时自动上锁,在方法结束调用时自动解锁。线程未同步示例注意:Thread.sleep(x)线程延时方法一定要有,不然可能会因为程序执行太快看不到进程冲突,导致数字正常减小。public class Main { public static void main(String[] args) { MyRunnabl
2020-07-16 21:04:50 148
原创 《数据库系统概论》SQL语言篇 (第5版 王珊 萨师煊 编著)
结构化查询语言SQL是关系数据库的标准语言,也是一个通用的、功能极强的关系数据库语言。常见的关系数据库如MySql 、SQL Server、Oracle等都使用了SQL语法,学习SQL对掌握常见数据库有很大帮助。语法符号含义:<> 必选内容[] 可选内容| 多选一一、模式的定义与删除1、创建模式create schema <模式名> authorization <用户名>;没有指定模式名,则模式名隐含为用户名。创建模式时该用户需要有权限。例题:为
2020-07-11 15:56:40 1225
原创 《数据库系统概论》基本概念篇(第5版 王珊 萨师煊 编著)
一、数据库的4个基本概念1、数据(data)数据是数据库中存储的对象。描述事物的符号记录称为数据。数据和关于数据的解释是不可分的。数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。2、数据库(DataBase,DB)数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述、存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库数据具有永久存储、有组织和可共享三个基本特点。3、数据库管理系统(Dat
2020-07-09 16:47:54 1119
原创 快速排序
快速排序是一种重要的算法,经常出现在我们的日常生活中,考试、笔试和做题目时经常要用到它,网上也有很多讲解快速排序的博客,今天我就归纳一下我学的快速排序程序,日后我忘了,还能通过这篇博客复习一下。快速排序算法效率:最差效率:O(n^2)最优效率:O(nlogn)平均效率:O(nlogn)稳定性:不稳定(排序后大小相同的元素相对位置可能会发生变化)核心思想:快速排序使用了分治法,是冒泡排序的改进版。算法在要排序的数组里选一个值作为临界值(一般选第一个值),然后从数组两端向里将数组分为大于和小于临界
2020-06-14 14:08:18 145
原创 简单计算器算法思路:能处理小数运算和取模运算,无括号
日常学习中总是能遇到做计算器的时候。今天,我就简单介绍一下我想的表达式求值方法。(有括号的表达式可以通过这个思路延伸出来)一、分析数学表达式求值、计算器求值都是根据运算符优先级来进行相应计算的。怎么处理符号的优先级是非常重要的。我以前学过用栈来求解表达式,但是需要个复杂的运算符优先级数组,这个数组很难记忆,不方便使用。但优先级大小完全可以用数值大小来表示,数值也能有优先级。二、解决办法优先级处理:1、将 *、/ 、%运算符优先级定义为3。(括号优先级可以定为4)2、将 +、- 运算符优先
2020-06-06 01:03:48 1469
原创 C语言写个简单的串口调试助手
学习单片机或者嵌入式编程常常要用到超级终端–串口调试助手,但有时需要我们自己做一个终端,用来当上位机。最近课设要求我们自己写个终端来处理串口信息,于是乎,接触了一些windows的串口API,做出了一个简单的串口调试助手,很简陋~Windows把串口当作文件处理,这点很重要!使用串口的基本流程:1、得到串口的句柄,句柄可以看作一个指针或者是一个实例2、配置串口,比如收发超时时间、波特率,奇偶校验3、读写串口一、得到串口句柄使用CreateFile 函数,有8个参数。不懂这些函数的使用点这个链
2020-05-30 23:43:16 8821 7
原创 OrmLite的简单使用--建表和查询员工信息
我在网上找OrmLite的教程时遇到了很多问题,花了好大劲才解决的。这里简单的介绍一下OrmLite的使用。主要步骤1、导入jar包(高版本和低版本有些操作不一样)2、创建实体类(表)3、创建帮助类,也叫管理类一、导入jar包下载ormlite包,官网下载地址:https://ormlite.com/releases/(常见的有1.9.x和5.x.x版本,实体类的注释方法与jar包版本相关,网上有两大类的注释方法,缘于此)将jar包复制粘贴到project目录下的libs文件下,右键jar
2020-05-21 17:31:05 354
原创 桶排序
桶排序桶排序有数组和链表两种方式,这里使用更简单的数组。每一个数组单元就是一个“有序号的桶”,根据排序数大小放入对应序号的桶,因为桶是有序的,所以排序数也会有序。操作步骤:1、遍历数据,找出最大值Max,最小值Min2、创建一个数组,数组大小要大于Max(链表不用这样)3、遍历数据,让相应下标的数组单元进行“++”操作4、从数组下标为Max或Min的单元开始遍历数组,遍历到下标为Min...
2020-03-14 15:31:07 105
原创 伪代码书写方式
伪代码是描述算法过程的一种语言,它可以直接用中文或者英文等自然语言表示,也可以直接上代码,但常用经典的语法表示(讲的就是这种)。日常生中,别人能通过你的描述明白相应算法就行。小规范1、不需要声明变量,变量名可以一定程度反映变量类型。2、伪代码里没有 “{” “}” ,同一代码块用缩进表示。3、数组用 数组名 + [0…n-1] 表示,如BubbleSort( A[0…n-1]...
2020-03-11 10:20:36 83485 4
原创 Android Studio安装 含JDK、SDK配置
AS安装难点: jdk、sdk环境变量配置;AS安装时要求填写的jdk、sdk文件路径容易出错
2020-03-01 21:54:28 18575
空空如也
在Android Studio 中使用 LitePal查找时出错?
2021-04-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人