Time of Update: 2017-01-19
本文執行個體匯總了C++常用字串分割方法,分享給大家供大家參考。具體分析如下:我們在編程的時候經常會碰到字串分割的問題,這裡總結下,也方便我們以後查詢使用。一、用strtok函數進行字串分割原型: char *strtok(char *str, const char
Time of Update: 2017-01-19
1.概述通常來說順序表是在電腦的記憶體中以數組的形式儲存的線性表,是用一組地址連續的儲存單元依次儲存資料元素的線性資料結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在電腦記憶體中一組地址連續的儲存單元中。將表中元素一個接一個的存入一組連續的儲存單元中,這種儲存結構就是順序結構。採用順序儲存結構的線性表簡稱為“ 順序表”。順序表的儲存特點是:只要確定了起始位置,表中任一元素的地址都通過下列公式得到:LOC(ai)=LOC(a1)+(i-1)*L 1≤i≤n 其中,
Time of Update: 2017-01-19
1.C語言編碼需要保證變長數組的長度參數位於合法範圍之內例如以下代碼:void func(size_t s) { int vla[s]; /*...*/}/*...*/func(size);/*...*/解決方案如下:enum {MAX_ARRAY = 1024};void func(size_t s) { if(s < MAX_ARRAY && s != 0) { int vla[s]; /*...*/ } else { //錯誤處理 }}/*...*/func(size);/*.
Time of Update: 2017-01-19
對C語言程式來說,在同一檔案中時,void func(char *a); 和 void func(char a[]); 完全等價但在函數原型之外,如果一個數組在一個檔案中聲明為指標,在另一個不同的檔案中聲明為數組,那麼它們是不等價的範例程式碼如下://main.c#include<stdlib.h>enum {ARRAYSIZE = 100};char *a;void insert_a(void);int main(void) { a =
Time of Update: 2017-01-19
C語言中的數組索引必須保證位於合法的範圍內!範例程式碼如下:enum {TABLESIZE = 100};int *table = NULL;int insert_in_table(int pos, int value) { if(!table) { table = (int *)malloc(sizeof(int) *TABLESIZE); } if(pos >= TABLESIZE) { return -1; } table[pos] = value;
Time of Update: 2017-01-19
通常來說擷取數組的長度時不要對指標應用sizeof操作符。現來看看下面這段代碼:void clear(int array[]) { for(size_t i = 0; i < sizeof(array) / sizeof(array[0]); i++) { array[i] = 0; }}void dowork(void) { int dis[12]; clear(dis); /*...*/}clear()使用sizeof(array) / sizeof(array[0])
Time of Update: 2017-01-19
該程式簡單地輸入一個年份(1901年之後的年份),隨後程式輸出該年份十二個月的日曆。#include<stdio.h>#define Mon 1#define Tues 2#define Wed 3#define Thur 4#define Fri 5#define Sat 6#define Sun 0#define January_days 31#define February_days 28#define March_days
Time of Update: 2017-01-19
本文通過一個C語言實現堆排序的簡單一實例,協助大家拋開複雜的概念,更好的理解堆排序。執行個體代碼如下:void FindMaxInHeap(int arr[], const int size) { for (int j = size - 1; j > 0; --j) { int parent = j / 2; int child = j; if (j < size - 1 && arr[j] < arr[j+1]) {
Time of Update: 2017-01-19
C語言的單鏈表是常用的資料結構之一,本文總結了單鏈表的常見操作,執行個體如下:#include<stdio.h> #include<stdlib.h> //定義單鏈表結構體 typedef int ElemType; typedef struct Node { ElemType data; struct Node *next; }LNode,*LinkList; //建立單鏈表 void Build(LinkList L) { int n; LinkList p,q;
Time of Update: 2017-01-19
本文對C語言的邏輯控製做一番較為深入的探討,一般來說C語言的邏輯控制語句主要有如下的7種:1、 goto 最強大,但一般只在特殊環境下使用。2、 if else3、 ?:4、 switch case5、 for6、 while7、 do while自從dijkstra的論文Go To Statement Considered
Time of Update: 2017-01-19
演算法思想簡單描述:堆排序是一種樹形選擇排序,是對直接選擇排序的有效改進。堆的定義如下:具有n個元素的序列(h1,h2,...,hn),若且唯若滿足(hi>=h2i,hi>=2i+1)或(hi<=h2i,hi<=2i+1)(i=1,2,...,n/2)時稱之為堆。在這裡只討論滿足前者條件的堆。由堆的定義可以看出,堆頂元素(即第一個元素)必為最大項。完全二叉樹可以很直觀地表示堆的結構。堆頂為根,其它為左子樹、右子樹。初始時把要排序的數的序列看作是一棵順序儲存的二叉樹,調整它
Time of Update: 2017-01-19
用C語言實現將十進位轉化為二進位,並統計轉換後的二進位碼中1的個數。#include <stdio.h>int binaryNum[16]; //存放轉換後得到的二進位碼int count=0; //計數十進位整數被2除的次數int oneCount=0; //得到的二進位碼中1的個數void main(){ int num; printf("輸入一個十進位的整數:"); scanf("%d",&num); while( (num/2) != 1 ){
Time of Update: 2017-01-19
這遊戲前一段時間傳的很火,前幾天早上實在太無聊了,就決定把這遊戲自己也寫一個。前後寫了一個多小時吧,大概300行左右,沒什麼複雜演算法,不過實在懶得去最佳化了,但估計最佳化完能控制在200行以下,有興趣的朋友可以自己最佳化一下。說明:我一開始玩的是IOS APP版的TRHEES,後來才玩的2048,兩者在滑動的規則上有些區別,本人這個版本是這兩者的結合。最後,祝試玩愉快!介面醜陋,求不笑。以下是原始碼:複製代碼 代碼如下:/*By Reason*/#include<iostream>
Time of Update: 2017-01-19
複製代碼 代碼如下:#include <stdio.h>#include <windows.h>#include <wininet.h>#define MAXSIZE 1024#pragma comment(lib, "Wininet.lib") void urlopen(_TCHAR*);int _tmain(int argc, _TCHAR* argv[]){
Time of Update: 2017-01-19
與運算:&兩者都為1為1,否則為01&1=1, 1&0=0, 0&1=0, 0&0=0或運算:|兩者都為0為0,否則為11|1 = 1, 1|0 = 1, 0|1 = 1, 0|0 = 0非運算:~1取0,0取1~1 = 0, ~0 = 1~(10001) = 01110異或運算兩者相等為0,不等為11^1=0, 1^0=1, 0^1=1, 0^0=0下面是詳細的解釋:位元運算
Time of Update: 2017-01-19
c++實現十進位轉換成16進位複製代碼 代碼如下://Decimal to hexadecimal number//programming by : Erfan Nasoori//Date of send : 2009/1/11#include <iostream.h>void main(){ int x,y,i; int d,n=1; int * r; char h[16]={'0','1','2','3','4','5','6','7','
Time of Update: 2017-01-19
c語言產生隨機uuid編碼複製代碼 代碼如下:#include <stdio.h>#include <stdlib.h>/** * Create random UUID * * @param buf - buffer to be filled with the uuid string */char *random_uuid( char buf[37] ){ const char *c =
Time of Update: 2017-01-19
雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鏈表中的任意一個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。一般我們都構造雙向迴圈鏈表。(1)定義雙向鏈表的基本結構複製代碼 代碼如下:typedef struct _DOUBLE_LINK_NODE { int data; struct
Time of Update: 2017-01-19
複製代碼 代碼如下:#include <algorithm>class TestClass{public: int Sub(int x, int y) { return y - x; } void InitAndTest() { PrintWithClassMemberFunction(&TestClass::Sub); PrintWithClassPointer(this);
Time of Update: 2017-01-19
不解析配置內容,唯讀取檔案內容,剪去注釋和首尾空格後寫入緩衝: vector<string> 中。供其他方法使用。代碼是在做一個MFC小工具時寫的。ReadProtocol.h複製代碼 代碼如下:/*** 從檔案中 讀取 protocol 的內容 寫入緩衝* 供外部方法使用* Alex Liu, 2014*/#pragma once#include <vector>#include <map>#include <list>#include <