原创 利用C++中的stringstream類輕鬆實現字符串和數字的互相轉換

c++中利用srtingstream可以將數字轉爲字符串,或者將字符串轉爲數字; 首先將double型數字串轉成了string: stringnum2string(double *a,int n) {stringstreamss;  

原创 c++中堆對象與棧對象

使用棧對象的意外收穫   棧對象是在適當的時候創建,然後在適當的時候自動釋放的,也就是棧對象有自動管理功能。那麼棧對象會在什麼會自動釋放了?第一,在其生命期結束的時候;第二,在其所在的函數發生異常的時候。你也許說,這些都很正常啊,沒什麼

原创 C/C++文件操作 (2)

ofstream fs("binary",ios::binary); //ofstream fs("character.txt"); int i = 32765; fs<<i<<endl; //fs.write((char*)&i,2);

原创 判斷兩個鏈表是否相交

法1、使用hash表或者set表 時間複雜度:O(list1.length + list2.length) 空間複雜度:O(list1.length) 法2、將其中一個鏈表首尾相連,檢測另一個鏈表是否存在環,如果存在,則兩個鏈表相交,

原创 C與C++中定義結構體的不同方式

第三篇:struct和typedef struct 分三塊來講述: 1 首先: 在C中定義一個結構體類型要用typedef: typedef struct Student { int a; }Stu; 於是在聲明變量的時候就可:St

原创 如何使用 <fstream> 類進行文件的 I/O 處理(轉)

如何使用 <fstream> 類進行文件的 I/O 處理(轉) 作者:Danny Kalev 編譯:MTT 工作室 摘要:傳統的文件 I/O 庫如 Unix 的 <io.h> 和 <stdio.h> ,由於其程序接口的原因,在很大

原创 malloc與new

malloc和free是C++/C語言的標準庫函數,new/delete是C++的運算符。 它們都可用於申請動態內存和釋放內存。  對於非內部數據類型的對象而言,光用maloc/free無法滿足動態對象的要求。對象在創建的同時要自動執行構

原创 歸併排序 大全

 歸併排序算法簡要介紹: 一、思路描述:     設兩個有序的子文件(相當於輸入堆)放在同一向量中相鄰的位置上:R[low..m],R[m+1..high],先將它們合併到一個局部的暫存向量R1(相當於輸出堆)中,待合併完成後將R1複製

原创 新浪面試:如何求解一個迷宮(回溯法)

去年師兄面試新浪,上來就是一道迷宮題,相信大家都知道用回溯法來解決,但是要在半小時內寫出正確的代碼對我等菜鳥來說也不容易。 下面思考一下回溯法的思路: //下面部分內容摘自http://fuliang.iteye.com/blog/164

原创 外排序思路 轉自維基百科

http://zh.wikipedia.org/zh/%E5%A4%96%E6%8E%92%E5%BA%8F 外排序(External sorting)是指能夠處理極大量數據的排序算法。通常來說,外排序處理的數據不能一次裝入內存,只能放

原创 排序算法的穩定性

 快速排序、希爾排序、堆排序、直接選擇排序不是穩定的排序算法,而基數排序、冒泡排序、直接插入排序、折半插入排序、歸併排序是穩定的排序算法   首先,排序算法的穩定性大家應該都知道,通俗地講就是能保證排序前2個相等的數其在序列的前後位置

原创 基類的析構函數爲什麼是虛函數?

編譯器總是根據類型來調用類成員函數。但是一個派生類的指針可以安全地轉化爲一個基類的指針。這樣刪除一個基類的指針的時候,C++不管這個指針指向一個基類對象還是一個派生類的對象,調用的都是基類的析構函數而不是派生類的。如果你依賴於派生類的析構

原创 strlen() 和sizeof()

strlen所作的僅僅是一個計數器的工作,它從內存的某個位置(可以是字符串開頭,中間某個位置,甚至是某個不確定的內存區域)開始掃描,直到碰到第一個字符串結束符'\0'爲止,然後返回計數器值。 注意:不包括結果的/0字符 舉例  char*

原创 英文字典的表示法

對於一個英文字典而言,利用合理的數據結構存儲,使得查找的速度明顯加快; 比較常見的存儲有: 1 哈希表(需要空間較大) 2 二叉樹(完全用map或者set保存,即紅黑樹,需要空間較大) 3 樹(將單詞集合看做成普通樹的結構,但是用第一個孩

原创 float/double 存儲問題

作者: jillzhang 聯繫方式:[email protected] 本文爲原創,轉載請保留出處以及作者, 謝謝    C語言和C#語言中,對於浮點類型的數據採用單精度類型(float)和雙精度類型(