原创 快速排序-c語言實現10.1.1

思想 快速排序採用的思想是分治思想。快速排序是找出一個元素(理論上可以隨便找一個)作爲基準(pivot),然後對數組進行分區操作,使基準左邊元素的值都不大於基準值,基準右邊的元素值 都不小於基準值,如此作爲基準的元素調整到排序後的正確位置

原创 歸併排序之循環歸併排序9.4.3

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> typedef int ElementType; void Merge(

原创 歸併排序之遞歸排序9.4.2

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> typedef int ElementType; void Merge(ElementTyp

原创 散列表衝突解決方法11.1.3

常用的解決思路: 1、換個位置:開放定址法 數組結構 #define MAXTABLESIZE 100000 /* 允許開闢的最大散列表長度 */ typedef int ElementType; /

原创 QT 建立透明背景圖像QPixmap

列將下面背景透明圖片1轉變成圖片2 圖1 圖2 #include "mainwindow.h" #include<QPainter> #define width 160 #define hight 400 #defin

原创 何時用返回值何時用異常來用於錯誤處理

考慮性能 返回值 優於 異常 如果程序中高頻出現錯誤處理,則用返回值 情景:假如不考慮用select和epoll等,用輪詢來讀取多個連接的數據,此時爲了不互相阻塞干擾,用非阻塞的讀取函數。此時read將大量出現返回-1的情況,如

原创 文檔ansi、utf-8、unicode的標誌頭

在做bt解析種子類時:用記事本打開一個種子文件無法辨認中文,因爲中文部分是utf-8編碼,而那個種子文件缺少utf-8 標誌頭,以ansi解析了utf-8所以出錯了 ansi 無標誌頭字節 utf-8 前面有三個標誌字節efbbb

原创 搜遍網上GetLastError()返回值錯誤碼查詢工具難用!微軟自帶的不支持反查詢[比如:搜索“文件 篡改”來查詢有關錯誤碼],我用半天時間寫了此工具供大家白嫖

前言 開發中常常用錯誤碼錶述函數執行錯誤時原因,我們常常需要知道錯誤碼是什麼意思。我們設計函數時候也需要知道函數該用何種錯誤碼來描述錯誤狀態。這個工具可以方便我們查詢。支持查詢1、0x001正向查詢。還支持反向查詢,比如:當我們函

原创 udp上的可靠傳輸項目記錄

疫情隔離在家的兩個多月,我實現了自己的可靠傳輸框架。 時間分佈如下 一、前期準備 10天: 8天收集各種可靠傳輸資料。 構思 2天天時間 二、設計出類圖和寫出大概主框架: 耗時3天 三、編寫代碼用時 耗時18天,邊寫代碼邊初步測試

原创 http請求參數爲中文時注意事項

http請求參數默認爲utf8編碼 如果是中文,將參數進一步處理 //僞碼錶示處理前後的數據 utf8[3]={0XE4,0XB8,0XAD };//處理前數據 dealutf8[6]={'%','E','4','%','B','

原创 C++開發bt下載軟件筆記(一)- 種子文件解析

不囉嗦直接上代碼 //Torrentinfo.h #pragma once #include<vector> #include<Windows.h> using namespace std; class Torrentinfo {

原创 多關鍵字排序-oj考試排名10.1.3

考試排名 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3445 A

原创 散列表簡介11.1.1

編譯處理時候涉及到變量及屬性的管理,動態查找管理 插入:新變量 查找:變量的引用 如果利用查找樹(搜索樹)進行變量管理: 兩個變量名(字符串)比較效率不高 目前已經知道的幾種查找方法: 順序查找   O(N) 二分查找  O(log2

原创 桶排序升級之基數排序c語言實現10.1.2

上一篇介紹了不穩定的快速排序,這回介紹基數排序 基數排序是基於分配策略的排序,不是一種比較排序,不受到 O(n log n) 下限的影響,是一種穩定的排序算法,並且它可以應用於多關鍵字排序。 次位優先基數排序 先按照優先級別最低的位對序

原创 C++(qt)遊戲實戰項目:坦克大戰(前言)

坦克遊戲,兒時的經典,同樣是練手的經典小項目之一! 準備好開發環境 必須 備註1 備註2 window或linux系統 推薦window QT5.5以上 百度一下就知道 整體框架僞代碼描述 遊戲開始