Time of Update: 2015-06-03
標籤:#include<iostream>#include<iomanip>#include<cstdlib>#include<ctime>#include<cmath>#include<vector>#include<map>using namespace std;int main(void) { int n; while(cin >> n) { map<int,
Time of Update: 2015-06-03
標籤:c++如果在一個C++的程式中經常會用到int和string之間的互換,個人建議可以寫成一個函數,下次用的時候直接調用即可。#include <iostream>#include <string>#include <sstream>using namespace std; // int —> stringstring intToString(int num){stringstream str0;string str;str0
Time of Update: 2015-06-03
標籤:c++ 派生 在已有的Point類的基礎上,定義一個“Circle”衍生類別,要求:新增一個半徑成員;能計算並輸出圓的周長及加圓面積 #ifndef __Dervide_circle__circle__#define __Dervide_circle__circle__#include<iostream>using namespace std;#define
Time of Update: 2015-06-03
標籤:c++語言中運算子多載都是通過函數來實現的,所以其實質為函數重載,當c++語言原有的一個運算子被重載之後,它原來所具有的語義並沒有消失,只相當於針對一個特定的類定義了一個新的運算子。<1>用成員函數重載運算子例1:#include <iostream>using namespace std;class RMB{public: RMB(unsigned int d,unsigned int c); RMB operator+(RMB&);
Time of Update: 2015-06-03
標籤:遞迴左子樹是否為平衡二叉樹右子樹是否為平衡二叉樹左右子樹高度差是否大於1,大於1,返回false否則判斷左右子樹 最簡單的理解方法就是如下的思路:class Solution {public: bool isBalanced(TreeNode* root) { if(root==NULL){ return true; } int ldepth=depth(root->left); int
Time of Update: 2015-06-03
標籤:有序鏈表0->1->2->3->4->5轉換為一個二叉排序樹。我們在此建立一個平衡二叉排序樹1.先找鏈表到中間的節點2.中間節點的val建立一個新的樹節點TreeNode3.將鏈表斷裂為2部分4.遞迴建立左子樹和右子樹#include<iostream>#include<cstdlib>using namespace std;struct ListNode { int val; ListNode *next;
Time of Update: 2015-06-03
標籤:最近在寫資料結構的廣義表時候用到了這個概念,在學習C語言的時候沒有太注意們這裡學一下。我在網上結合了很多資料,這裡自己總結一下。首先說,JAVA和C++中都有枚舉類型。如果一個變數你需要幾種可能存在的值,那麼就可以被定義成為枚舉類型。之所以叫枚舉就是說將變數或者叫對象可能存在的情況也可以說是可能的值一一例舉出來。 例如:  
Time of Update: 2015-06-03
標籤:可以按照地區語言修改定序。 class Program { static void Main(string[] args) { string[] arr = { "趙(ZHAO)", "錢(QIAN)", "孫(SUN)", "李(LI)", "周(ZHOU)", "吳(WU)", "鄭(ZHENG)", "王(WANG)"}; //發音 LCID:0x00000804
Time of Update: 2015-06-03
標籤:1. 模板的概念。我們已經學過重載(Overloading),對重載函數而言,C++的檢查機制能通過函數參數的不同及所屬類的不同。正確的調用重載函數。例如,為求兩個數的最大值,我們定義MAX()函數需要對不同的資料類型分別定義不同重載(Overload)版本。//函數1.int max(int x,int y);{return(x>y)?x:y ;}//函數2.float max( float x,float y){return (x>y)? x:y
Time of Update: 2015-06-03
標籤:將某一數值賦給某個變數的過程,稱為賦值。1. 簡單賦值C語言規定,變數要先定義才能使用,也可以將定義和賦值在同一個語句中進行int a = 10 + 5;的運算過程a = b = 10;的運算過程等號左邊不能是常量,比如10 = 11;2. 複合賦值複加減乘除餘:a += 4 + 5; 1 #include <stdio.h> 2 3 int main() 4 { 5 int a = 10; 6 7 // a = a + 5; 8
Time of Update: 2015-06-03
標籤:1、指標的初始化指標初始化時,“=”的右運算元必須為記憶體中資料的地址,不能夠是變數,也不能夠直接用整型地址值(可是int*p=0;除外,該語句表示指標為空白)。此時,*p僅僅是表示定義的是個指標變數,並沒有間接取值的意思。比如:int a = 25;int *ptr = &a;int b[10];int *point = b; int *p = &b[0];假設:int *p;
Time of Update: 2015-06-03
標籤:1. 簡單使用++ 自增運算子。如a++,++a,都等價於a = a+1--自減運算子。如a--,--a,都等價於a = a-15++是錯誤的,因為5是常量2. ++a和a++的區別int a = 10;a++; ++a;int b = a++; int b = ++a;++a的意思是先對a執行+1操作,再將a的值賦值給b。a++的意思是先將a的值拷貝出來一份,然後對a執行+1操作,於是a變成了11,但是拷貝出來的值還是10,a++運算完畢後,再將拷貝出來的值10賦值給了b--
Time of Update: 2015-06-03
標籤:1. Linux Socket Programming In C++ : http://tldp.org/LDP/LG/issue74/tougher.html2. ACE:
Time of Update: 2015-06-03
標籤:#include<iostream>#include<iomanip>#include<cstdlib>#include<ctime>#include<cmath>using namespace std;long long qmod(int a, int b, int p) { long long res = 1; long long term = a%p; while(b) { if(b&
Time of Update: 2015-06-03
標籤:// CTest.cpp : 定義控制台應用程式的進入點。//#include "stdafx.h"#include <iostream>#include <string.h>#include <stdio.h>using namespace std;typedef int ElemType;struct Stack{ ElemType data; Stack *next;};void InitStack(Stack* &HS){
Time of Update: 2015-06-03
標籤:1、閱讀並運行下面的樣本程式,掌握標準輸入輸出資料流的控制例1<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include <iostream>#include <math.h>using namespace std;int main(){ float a,b,c,disc; cout<<&
Time of Update: 2015-06-03
標籤:#include<stdio.h>#include<stdlib.h>#include<vector>void swap(int *a,int *b){int tmp;tmp=*a;*a=*b;*b=tmp;}void permutation(int nums[],int i,int n){int j=0;if(i==n){for(j=0;j<n;j++)printf("%d
Time of Update: 2015-06-03
標籤:在使用.NET編寫的代碼在debug時很容易進行排查和定位問題,一旦項目上線並出現問題的話那麼只能依靠系統日誌來進行問題排查和定位,但當項目複雜時,即各種方法間相互調用將導致要擷取具體的出錯方法或調用者將是一件不那麼容易的事(因為沒有PDB檔案)還好.NET提供了一系列系統組件來協助我們擷取項目堆棧資訊用於定位和排查,以下代碼將返回出錯堆棧調用的各上一級方法,直到最終的調用者方法/*******************************************************
Time of Update: 2015-06-03
標籤:.NET 4.0包含的新名稱空間System.Threading.Tasks,它包含的類抽象出了線程功能。任務表示應完成的某個單元的工作。這個單元的工作可以在單獨的線程中運行,也可以以同步的方式啟動一個任務,這需要等待主調線程。使用任務不僅可以獲得一個抽象層,還可以對底層線程進行許多控制。啟動任務 1)、使用TaskFactory類的執行個體,在其中把TaskMethod()方法傳遞給StartNew方法,就會立即啟動任務。 1: using
Time of Update: 2015-06-03
標籤:一,C#對象初始化文法:1 Product p = new Product()2 {3 Name = "小黃人",4 Price = 34,5 Description = "機智",6 Category = "奢飾品",7 ProductID = 08