原创 c++學習之優先隊列(priority_queue)

優先隊列的思想是比較簡單的,就是在隊列的基礎上按照某一特定元素進出隊列,計算機中作業的優先調度,就是按照作業的權值優先,先出隊列。在STL容器中,優先隊列的實現是使用的heap,也就是堆,用一個二叉堆維護一個優先隊列,具體的堆的使用方法

原创 python簡單模擬數據庫程序

做個小程序,簡單的模擬數據庫,代碼比較長,覺得可以學習的地方很多,記下來#database.py import sys,shelve def store_person(db): """ Query us

原创 template學習之typename關鍵字

關鍵字 typename       template <typename T> class MyClass{ typename T::SubType * ptr; }; 在這裏第二個typename關鍵字的意思是:SubType是cla

原创 template學習之利用標準函數庫寫棧

#include <vector> #include <string> #include <stdexcept> #include <iostream> //using namespace std; /* 利用已經完成的Vertor標

原创 c++學習之函數對象

c++的函數對象,以前接觸得比較少,今天重新看了下,感覺這真的是個很使用的技術,相當的好用。 先介紹下什麼是函數對象,簡單的說就是函數操作符“()”的重載,通過重載函數操作符在類中實現函數的功能,並通過生成類的對象,調用操作符,實現效果就

原创 c語言變態語法二

           下面介紹了其他一下c語言其他一點用的比較少的東西,和一些比較容易錯誤的地方,還是一樣的辦法,將問題以註釋的形式寫在了代碼之中,主要是在學習時,邊看邊親自動手試了一下,而整理成條款的話比較枯燥乏味,所以直接以代碼加註

原创 算法之查找第k小的數和查找最小的k個元素

           利用快速排序的思想查找第k小的數,主要的核心思想還是快速排序的分治算法,具體的思路是這樣的: 1 利用快排的partion函數將數組分成左右兩個部分, 2  如果p剛好等於k,則說明p位置的數,就是我們要找的數,如果

原创 hbitmap保存爲圖片

static BOOL SaveBitmapToFile(HBITMAP hBitmap, std::string szfilename) { HDC hDC; //當前分辨率下每象素所佔字節數 int iBit

原创 用opencv讀取視頻保存視頻

不得不說opencv是個強大的東東,以前做一個項目的一個模塊時使用到進行圖形處理,這次是想將一個視頻的播放放慢,以前在網上看到opencv有這個功能,今天就不小心嘗試了下,東西不多,主要是做個小記錄還有一點要注意的小問題說一下,代碼不多,

原创 socket編程——獲取本機適配器信息

                           遇上一點點的小麻煩,在包含 Iphlpapi.lib和include "Iphlpapi.h"可能會提示找不到頭文件,要先在電腦裏面找到windows的SDK,然後添加到include

原创 c語言變態語法一

         比較雜亂的記錄的一些c語言的變態語法,或者說一些比較少見的,又或者說是一些比較容易忽略的語法,形式整理的不怎麼好。  我將這些需要注意的問題通過代碼註釋的形式寫在了代碼之中,粘貼下來便可以調試運行查看結果。 #inc

原创 數據結構排序之堆排序

現在寫推排序一個是因爲上次整理掉了,二是因爲覺得推排序中有幾個需要注意的地方網上的資料都沒有比較好的介紹,所以自己 整理了下, 基本原理就是維護一棵二叉樹,也就是二叉堆,先附上代碼,然後做解釋: #include <iostream> u

原创 c++生僻語法

          最近經常看書,還是覺得一定的理論加上足夠的實踐纔是學習最好的方法,自己覺得學c++有一段時間了,但是對於c++裏面有些東西還是從來沒有見過,爲了方便以後的查看,就記一下一些生僻的語法           1    c

原创 template學習之零值初始化及字符串常量作(function template argument)函數模版參數問題

本篇只是摘抄自《c++ template》小問題比較少注意,而且也容易忘記 1 零值初始化 對於基本的數據類型int,double,pointer type來說,一般沒有default構造式對其初始化,比如下面的代碼 void foo(

原创 c++學習之容器——erase()函數

先介紹erase()函數的用法,erase()函數用於在順序型容器中刪除容器的一個元素,有兩種函數原型,c.erase(p),c.erase(b,e);第一個刪除迭代器p所指向的元素,第二個刪除迭代器b,e所標記的範圍內的元素,c爲容器