原创 排序算法之選擇排序
在初級排序算法中,冒泡和插入排序已經不被實際工程所採用了。而選擇排序還是會有地方用的。 選擇排序,插入排序像整理撲克牌一樣,牌一張張的來,每來一張,就要將它插入手裏之前已經整理好的牌中。我們假定數組有 n 個元素。下標索引爲 i。i 從
原创 對宏offsetof理解
#ifndef offsetof #define offsetof(TYPE, MEMBER) ((size_t)&((TYPE*)0)->MEMBER) #endif offset這個宏有兩個參數 TYPE 和 MEMBER ,這個宏
原创 Linux下librdkafka編譯安裝使用學習
Kafka分爲服務端和客戶端,服務端集羣一般稱爲brokers,客戶端分爲生產者(producer)和消費者(consumer)。 開發者通常用客戶端從kafka生產消息或消費消息,不同的語言使用不同的客戶端,具體信息參見這個頁面: h
原创 排序算法之選擇排序與冒泡排序
冒泡排序 對於給定的一個數組, 欲將其升序排列。 下標 i 從後往前走,每次把 i 及其之前『最大』的元素『沉』到 i 位置。 第一次 遍歷數組 0 到 n-1 位置, 將最大的一個元素撿出來, 與第 n - 1 位置
原创 Linux下安裝 jdk 環境
1、選擇對應的jdk版本下載(jdk-8u181-linux-x64.tar.gzs) http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213
原创 Qt模型視圖(MV)小案例
需求在本地文件中讀取學生分數信息,按照一定規則顯示到界面中支持數據動態加載,即本地文件更改後,可以動態地在界面上顯示......支持分數平均等小功能本案例採用MVC設計模式,採用四層架構,從下往上即數據層(Data Source)、數據表
原创 Makefile中變量的定義及使用
Makefile中變量的定義及使用CC := gcc TAGRET := hello.out $(TARGET): func.o main.o $(CC) -o $(TARGET) func.O 上述Makefile中第一二行
原创 C&&C++異常處理(三)
在C++中catch語句塊也可以拋出異常 爲什麼C++要支持catch語句塊也可以拋出異常呢? catch語句塊中可以將捕獲到的異常重新解釋後再拋出(在大型的軟件系統中我們就可以對異常做統一的規範,便於軟件的開發管理) 在軟件開發
原创 引用與指針小結
引用與指針小結1、引用在創建的時候就必須被初始化, 即引用到一個對象; 指針在定義的時候不必初始化, 可以在之後根據自己的需要初始化。2、沒有空引用, 指針可以賦值爲NULL, 而引用是不可以的,引用必須與合法的存儲單元關聯。3、引用一旦
原创 Linux下zookeeper簡單安裝配置
基本安裝配置zookeeper,安裝目錄爲/usr/local.zookeeper, 數據目錄爲/var/lib/zookeeper 1、下載zookeeper-3.4.12.tar.gz http://mirror.bit.edu.
原创 重載new/delete自定義內存管理
new/delete是C++預定義的操作符。 new/delete行爲: –new 1、獲取足夠大的內存空間(默認是堆空間) 2、調用類的構造函數創建對象 –delete
原创 C&&C++的異常處理(一)
異常的概念 --程序在運行過程中可能產生異常 --異常(Exception)與錯誤(Bug)的區別 異常是程序運行時可預料的程序執行分支Bug是程序中的錯誤,是不被預期的運行方式 異常和Bug的對比: --異常 運行時產生
原创 Makefile中的變量值的替換(一)
1.使用指定字符串替換變量中的後綴字符(串) 格式:$(var:a=b)或${var:a=b} 注意:替換表達式中不能有空格】 例:src := acc bcc ccc obj := $(src:cc=o) test:
原创 Makefile中的變量值的替換(二)
1.變量的嵌套引用 一個變量名中可以包含對其他變量的引用 嵌套引用的本質是使用一個變量表示另外一個變量 例:x := y y := z a := $($(x)) 分析: 這個很好理解,上述第三行可以解析爲a :=
原创 DynamicList動態順序存儲結構
DynamicList設計要點: --類模板 --申請連續存儲空間作爲存儲空間 --保證順序存儲空間時的異常安全性 --異常安全: -不泄露任何資源 -不破壞任何數據 如果異