原创 數據結構:鏈棧的實現

棧的原理不再細說(可以參考嚴蔚敏版 或 王道考研版的數據結構),只貼代碼。 主要應用到的是單鏈表的頭插法 頭插法,顧名思義,每次插入新的結點都在頭部插入,新插入的結點成爲首元結點。 對於單鏈表定義規則:插入結點的時候只能從頭部插入,刪除結

原创 C/C++ 歸併排序的實現

按照自己的想法實現的歸併排序,應該沒什麼問題 歸併排序定義什麼的我就不寫了,直接看代碼吧 普通數組寫法: #include <algorithm> #include <iostream> using namespace std; v

原创 Java多線程:後臺守護線程

在多線程裏面可以進行守護線程的定義,也就是說如果現在主線程或其他線程還在運行,那麼守護線程將一直存在,並且運行在後臺狀態。 Thread類中關於守護線程的操作如下: 設置爲守護線程:public final void setDaemon(

原创 Java多線程:線程的同步與死鎖

在多線程的處理之中,可以利用Runnable描述多個線程操作的資源,而Thread描述每一個線程對象,於是當多個線程訪問同一資源的時候,如果處理不當就會產生數據的錯誤操作。 同步問題的引出 範例:創建若干個線程對象實現賣票操作 cla

原创 Java多線程:volatile關鍵字

在多線程之中,volatile關鍵字主要是在屬性定義上使用,表示此屬性爲直接數據操作,而不進行副本的拷貝處理。這在一個圖書上就將其錯誤的理解爲同步屬性了。 在正常進行變量處理的時候往往會經歷如下幾個步驟: 獲取變量原有的數據內容; 利用副

原创 數據結構:順序棧的實現

棧的原理不在細說(可以參考嚴蔚敏版 或 王道考研版的數據結構),只貼代碼。 #include <stdio.h> #include <stdlib.h> #define MaxSize 100 #define ElemType int

原创 java 方法引用

lambda和方法引用都遵循SAM(single abstract method)規則,即一個抽象類中只有一個抽象方法 利用方法引用的概念可以爲一個方法定義多個名字,但是要求必須是函數式接口(SAM)。 package test;

原创 數據結構:基於順序存儲的隊列(循環隊列)

只貼代碼,原理參考嚴蔚敏版或王道考研版的數據結構 #include <stdio.h> #include <string.h> #include <stdlib.h> #define MaxSize 15 #define ElemTy

原创 分治法求最大和次大元素

傳統求一組數據內次最大和次大元素有順序搜索法(時間複雜度O(n)),排序法(O(n*logn))等。而分治法可以把時間複雜度降低到O(logn)級別,但是相對來說實現起來也複雜一點 code: #include <algorithm>

原创 命令行模式下如何使用java中的jar命令打包壓縮文件

打開cmd或者powershell,然後切換到需要壓縮的文件所在目錄 然後執行 jar cvf 生成壓縮文件名.jar 被壓縮文件名 或者 jar -cvf 生成壓縮文件名.jar 被壓縮文件名 將 .jar 改成 .zip 即可壓縮

原创 Java多線程:Callable接口實現多線程

在線幫助文檔:https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/Callable.html 傳統實現多線程一般依靠Runnable,但是Runnable接口有一個

原创 Java多線程:基於Runnable接口實現多線程

雖然可以通過Thread類的繼承來實現多線程的定義,但是在Java程序裏面對於繼承永遠都是存在單繼承侷限的,所以在Java裏面又提供有第二種多線程的主體定義結構形式:實現java.lang.Runnable接口,此接口定義如下: @Fu

原创 JDBC連接MySQL8中出現的問題

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driv

原创 Java多線程:生產者-消費者模型

生產者生產,消費者消費,理想的情況下是生產者每生產一個產品,消費者就消費一個產品,生產者還沒有生產的時候消費者等待,消費者還沒有消費完產品的時候生產者等待。 class Producer implements Runnable{

原创 Java多線程:線程的休眠

希望某一個線程可以暫緩執行一次,那麼就可以使用休眠處理。在Thread類中提供的休眠的方法如下: 休眠:public static void sleep​(long millis) throws InterruptedException