原创 UML狀態圖(statechart)

一、狀態圖簡介(Brief introduction) 狀態圖(Statechart Diagram)主要用於描述一個對象在其生存期間的動態行爲,表現爲一個對象所經歷的狀態序列,引起狀態轉移的事件(Event),以及因狀態轉移而伴

原创 java 責任鏈模式

         定義:使多個對象都有機會處理請求,從而避免了請求的發送者和接收者之間的耦合關係。將這些對象連成一條鏈,並沿着這條鏈傳遞該請求,直到有對象處理它爲止。         類型:行爲類模式。         類圖:  首先

原创 java 建造者模式詳解

      定義:將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。         類型:創建類模式。         類圖:           四個要素:         1,產品類:一般是一個較爲複

原创 java原型模式詳解

         定義:用原型實例指定創建對象的種類,並通過拷貝這些原型創建新的對象。         類型:創建類模式。        類圖: 

原创 java 組合模式 詳解

二話不說,砸門先來看一個複製文件的例子 package com.zq.designpattern.composite; import java.util.ArrayList; import java.util.List; /** *

原创 java 命令模式詳解,敢不敢稍微不同一點

你是不是把網上那些命令模式看膩了,千篇一律的抄襲,那個類圖不知道是那裏畫的,明明都錯了,那麼多人貼上來,代碼也直接copy過來。。。我已經無力吐槽了。 我根據自己想法寫TV的命令模式例子 乾貨,上代碼 //電視表示接收者類 clas

原创 簡單選擇排序(與改進)

簡單選擇排序 描述: 在要排序的一組數中,選出最小(或者最大)的一個數與第1個位置的數交換;然後在剩下的數當中再找最小(或者最大)的與第2個位置的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後一個數)比較爲止

原创 數據結構--隊列(java)

隊列是一種先進先出的數據結構 隊列上的插入操作叫入隊列,刪除操作叫出隊列 隊列有對頭,和隊尾 就想超市結賬排隊一樣,顧客總是排到隊列的尾部(隊尾),也就是說在隊列的尾部入隊列,隊列的頭部出隊列。 如何在java中實現隊列有兩種選擇

原创 java 適配器模式 詳解(帶電源插座適配 例子)

         概述:         將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。         類型:結構型模式。         類圖:     

原创 計數排序

計數排序 描述: 對每一個輸入元素x, 確定小於x的元素個數。利用這一信息,就可以直接把x放到它在輸入數組中的位置上。例如,有17個元素小於x, 則x就應該放在第18個輸出位置上。當有幾個元素相同時候,這一方案需要略作修

原创 歸併排序

歸併排序是建立在歸併操作上的一種有效的排序算法。該算法是採用分治法(Divide and Conquer)的一個非常典型的應用。 首先考慮下如何將將二個有序數列合併。這個非常簡單,只要從比較二個數列的第一個數,誰小就先取誰,取了後就在對

原创 冒泡排序(與改進)

冒泡排序 應該是最簡單的排序算法了 描述: 在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就

原创 希爾排序

希爾排序 希爾排序的實質就是分組插入排序,該方法又稱縮小增量排序,因DL.Shell於1959年提出而得名。 描述  基本思想是:先將整個待排元素序列分割成若干個子序列(由相隔某個“增量”的元素組成的)分別進行直接插入排序,然後依次縮減

原创 java環境變量中 JAVA_HOME,Path,CLASSPAHT 的解釋

JAVA_HOME :只是指出了存放jdk的路徑,可以把JAVA_HOME當做一個變量名,在其他環境變量中引用。配置的時候,變量值最後一定不要加入  “;”  否則可能會出現可以使用java 命令,但是不能使用 javac ,javado

原创 插入排序

基本思想: 將一個記錄插入到已排序好的有序表中,從而得到一個新,記錄數增1的有序表。即:先將序列的第1個記錄看成是一個有序的子序列,然後從第2個記錄逐個進行插入,直至整個序列有序爲止。 直接插入排序示例: 如果碰見一個和插入元