Time of Update: 2015-04-12
標籤:題目描述:Given an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra
Time of Update: 2015-04-12
標籤:前兩篇博文中已經介紹了vector和list的兩種容器,我們發現他們各有各的優缺點,vector在記憶體中連續儲存,支援隨機訪問,但是尋找和刪除的效率比較低,而list在記憶體中是鏈式儲存的尋找和刪除的效率很高,但是不支援隨機儲存,那麼deque就綜合和兩者的優點,將若干連續的記憶體通過某種手段拼接在一起,而看起來像是在同一段記憶體中,通過對[]運算子的重載可以使其像數組一樣訪問資料,而插入和刪除操作效率只受所在記憶體段資料的影響。這裡有一篇深入理解deque實現細節的博文:http://
Time of Update: 2015-04-12
標籤:---恢複內容開始---我的理解是,不管定義時將指標定義成何種類型,指標本質上都是一個數字,其位元由編譯器來決定。比如我的編譯器是32位,那麼無論是定義一個char *pc還是定義一個int *pi,本質上pc與pi都是一個32位的數,但是由於"char *" 和 "int *"的限制,所以pc++是自加8bit,而pi++是自加16bit。 1 // int指標與char指標.cpp : 2 //
Time of Update: 2015-04-12
標籤: 開篇就來了一個範例程式碼,整個這個小節就圍繞這個範例程式碼來描述模板化基類內的名稱(函數)。主要是因為C++知道base class templates有可能被特化,而那個特化版本肯呢個不提供和一般性template相同的介面。因此它往往拒絕在templatized base classes(模板化基類)內尋找繼承而來的名稱。 1 class CompanyA { 2 public: 3 //... 4 void
Time of Update: 2015-04-12
標籤:利用帶參數的宏,可以加強封裝,簡化主體代碼。(VC6控制台工程) 1 // 帶參數的宏.cpp 2 // 看看帶參數的宏是怎麼玩的 3 4 //#include "stdafx.h" 注釋掉這個標頭檔,同時在Project——setting——precompiled headers——選擇“Not Use Precompiled Header”,能夠避免compile出錯 5
Time of Update: 2015-04-12
標籤:先看一組代碼:#include <stdio.h>void main(){int
Time of Update: 2015-04-12
標籤:c++ 藍橋杯 今天上午參加了第五屆藍橋杯比賽,還是去年的地方,還是去年的考場,不同的是經過了一年的曆練,多了一份坦然與自信。不管最後結果如何,是對自己一年學習的一個小小的交代。ACMER IN HHUC, we never say no. 結果填空 1. a*a+b*b+c*c=1000;a,b,c均為整數,求一組解中的最小值。暴力的題目,很容易就想到了0,10,30.所以沒多想就填上了0,可是考完發現還可以是負數。。。
Time of Update: 2015-04-12
標籤:#include <iostream>#include <iomanip>#define DefaultSize 10using namespace std;enum KindOfStatus{Active,Empty,Deleted};template<typename T>class HashTable{public:HashTable(int d,int sz=DefaultSize){_D =
Time of Update: 2015-04-12
標籤:全域變數全域變數定義在函數外面的變數是全域變數全域變數具有全域的生存期和範圍它們與任何函數無關在任何函數內部都可以使用它們#include <stdio.h>int f(void);int gAll = 12;int main(){ printf("gAll in %s function is %d\n",__func__,gAll); //注意:__func__是輸出是哪個函數,底線是兩個連著一起 f(); printf("gAll again in
Time of Update: 2015-04-12
標籤:棧s1和棧s2,棧s1專門為入隊,棧s2專門為出隊。入隊:當s1和s2都為空白時,直接入隊s1。當s1為空白,s2不為空白時,把s2的元素都倒回s1,然後再入隊s1出隊:當s2不為空白時,直接出隊s2當s2為空白且s1不為空白時,把s1的元素都倒進s2,然後出隊s2代碼實現如下:#include <iostream>#include <stack>using namespace std;template <class T>struct Myqueue{
Time of Update: 2015-04-12
標籤:1. 迭代器(iterator)是一中檢查容器內元素並遍曆元素的資料類型。(1) 每種容器類型都定義了自己的迭代器類型,如vector:vector<int>::iterator iter;這條語句定義了一個名為iter的變數,它的資料類型是由vector<int>定義的iterator類型。(2) 使用迭代器讀取vector中的每一個元素:vector<int> ivec(10,1);for(vector<int>::iterator
Time of Update: 2015-04-12
標籤:rpi預設安裝的編譯器是gcc-4.6.2 而現在最新的c++ libsockets library 需要使用支援c++-11特徵的編譯器,即需要4.8.2才可以。為此,需要先升級編譯器才可以支援編譯。 還需要cmake 來產生 Makefile檔案步驟如下: 1、下載原始碼: git clone
Time of Update: 2015-04-12
標籤:對每個屬性使用一個數組表示,多數組可以表示一組同構的對象。指標放在額外的數組中,用下標來表示。這次實現代碼基於10.3-5, 主要為了實現compacitify 操作,即把鏈表的所有元素在儲存空間中保持緊湊,本題是都放到前n個位置(n個元素)。思想是從網上看來的,移動元素的過程中保持鏈表中元素的相互指向不變,而自由表中並不需要,因為它什麼都沒有儲存。這裡實現了一個List_Freelist類,支援Delete,Insert,Compacitify,Print,Get_Next
Time of Update: 2015-04-12
標籤:獎券數目有些人很迷信數字,比如帶“4”的數字,認為和“死”諧音,就覺得不吉利。雖然這些說法純屬無稽之談,但有時還要迎合福士的需求。某抽獎活動的獎券號碼是5位元(10000-99999),要求其中不要出現帶“4”的號碼,主辦單位請你計算一下,如果任何兩張獎券不重號,最多可發出獎券多少張。52488#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#
Time of Update: 2015-04-12
標籤:標頭檔 c c++ 編譯依賴 從規模較小的程式轉到比較複雜的程式,標頭檔與源檔案中的內容組織困擾了很久,特別是標頭檔中該放哪些內容,到處搜尋文章並進行了一次總結,如果有什麼錯誤或者值得商榷的地方,希望大家能夠不吝賜教。引入問題:編譯模式:一個程式的原始碼,可以放到不同的檔案進行存放,每一個源檔案都是獨立的,可以分別進行編譯,產生程式的時候只需
Time of Update: 2015-04-12
標籤:1、 條件運算式(?:) 運算式1?運算式2:運算式3 條件運算式的構成應該是先判斷再選擇。但編譯器最佳化後未必是這樣。當運算式1為一個常量時,編譯器會在編譯期間得到答案,將不會有條件運算式存在。 轉換方案: ① :運算式2和運算式3都是常量且兩者的差值為1; ② :其他 先說3個指令:cmove和cmovle,cmovne,條件傳送指令,應該還有類似的指令,暫時沒找到這些指令的資料,下面是根據彙編代碼逆推的,
Time of Update: 2015-04-12
標籤:bitmap c# 全屏 自訂一個函數, public static void Snap(int x, int y, int width, int height) {
Time of Update: 2015-04-12
標籤:Default.aspx<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>檔案上傳測試</title></head><body> <form id="form1" runat="server"> <div> <asp:FileUpload
Time of Update: 2015-04-12
標籤:c++尋找最大數(三)時間限制:1000 ms | 記憶體限制:65535 KB難度:2描述給出一個整數N,每次可以移動2個相鄰數位上的數字,最多移動K次,得到一個新的整數。求這個新的整數的最大值是多少。輸入多組測試資料。每組測試資料佔一行,每行有兩個數N和K (1?≤?N≤?10^18; 0?≤?K?≤?100).輸出每組測試資料的輸出佔一行,輸出移動後得到的新的整數的最大值。範例輸入1990 1100 090900
Time of Update: 2015-04-12
標籤:本文參考 http://stackoverflow.com/questions/2179403/how-do-you-read-a-segfault-kernel-log-message和http://www.slideshare.net/noobyahoo/introduction-to-segmentation-fault-handling-5563036 linux中 遇到 段錯誤的情況, 多數人會想到core dump, 但是不一定有,其實有其他的辦法,