青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xyjzsh

插入排序vs希爾排序

什么是插入排序?
在插入排序法中,將檢查數組中的每個元素,將它插入排序中的元素的適當位置,當最后一個元素插入到它適當的位置時,這個數組就排好序了。例如,

假如我們要對一個有5個元素的數組進行升序排列,假設第一個元素的值被假定為已排好序了,那么我們將第2個元素插入到已排序好的數組中的適當位置上,使得數組應該是排序好的。依次類推,將第3個插入到到已排序好的數組中的適當位置,使得插入后數組仍然是排序好的,。。。。。。
下面是一個插入排序的Demo:
int tarArr[]={10,1,35,12,7,17,66,6,56,26};
int size = sizeof(tarArr)/sizeof(tarArr[0]);

void insertSort(void)
{
    
int i=0,j=0;
    
for(i=1;i<size;i++)
    
{
        
int nextValue = tarArr[i];
        
for(j=i-1;j>=0;j--)
        
{
            
if(nextValue<tarArr[j])
                tarArr[j
+1]=tarArr[j];
            
else
            
{
                
break;
            }

        }

        tarArr[j
+1]=nextValue;
    }

}

下面來介紹一下希爾排序:
希爾排序就是將要排序的數據先分成如果組,對每一組實行插入排序。
代碼如下:
int tarArr[]={10,1,35,12,7,17,66,6,56,26};
int size = sizeof(tarArr)/sizeof(tarArr[0]);

void shellSort(void)
{
    
int gap =0,i=0,j=0;
    
for(gap = size/2;gap>0;gap/=2)
    
{
        
for(i=gap;i<size;i+=gap)
        
{
            
int nextValue = tarArr[i];
            
for(j=i-gap;j>=0;j-=gap)
            
{
                
if(nextValue<tarArr[j])
                    tarArr[j
+gap] = tarArr[j];
                
else
                
{
                    
break;
                }


            }

            tarArr[j
+gap] = nextValue;
        }

    }

}

posted @ 2011-02-23 17:44 呆人 閱讀(368) | 評論 (0)編輯 收藏

通過函數參數的類型推導模板版本

模板函數如下:
template<class T>
T max(T x, T y)
{
   return x>y ? x:y;
}

void testMax(void)
{
    max(1,2);//因為兩個參數都是int型,所以編譯器會根據參數而推導出使用max<int>這個版本
    max(1.2,3.4);//通過兩個參數都為double型,推導出使用max<double>這個版本
    max('a',12);//會出現編譯錯誤,因為兩個參數,一個為char ,另一個為int ,所以編譯器無法根據類型推導出使用哪一個版本
    //可以通過顯示的制定使用哪個版本,從而解決這個問題
    max<int>('a',12);
}

posted @ 2011-02-23 11:13 呆人 閱讀(476) | 評論 (0)編輯 收藏

2010年總結——關于技術和生活

技術書:
1.《c++程序設計語言》——c++的老爹的大作。讀了第一部分和第二部分。關于STL的所有內容掠過。
2.《Sqlite》——嵌入式關系數據庫的介紹,對理解關系數據庫很有幫助。本來想研究一下sqlite的源代碼,我發現我水平有限,還沒那水平,但愿有一天我這美好的愿望能實現。
3.《算法導論》。買這本書是因為我對KMP算法的費解。不過我覺得這本書寫的很不錯,數據結構和基本算法寫的都不錯。
4.《win32多線程程序設計》還沒讀完,明年希望結合這本書寫個線程池出來。
5.《Inside the c++ object model》解釋c++的底層實現,對c++功底要求高,我只懂了部分內容,不過對virtual function的理解很有幫助。
6.《Effective c++》更適合c++初學者的書。很不錯。
7.《你的燈還亮著嗎》關于程序員。

其他書:
1.《蘇菲的世界》哲學入門書,很有意思的一本書。
2.《荷包里的單人床》——張小嫻,關于女人和愛情。
3.《目送》——龍應臺,關于親情和無奈。感動。
4.《活著》——余華,關于生活與活著,一本讓我淚流滿面的書。
5.《與眾不同的心理學》很有道理的一本書,印象最深的是:人們相信星座,是因為把大眾的東西個性化啦!我覺得很有道理。

廣播劇:致我們終將失去的青春。在此列出是因為我是如此的喜歡這部廣播劇。以至于我覺得它是值得我記住的。

2010年還是有收獲的一年,畢業工作。平靜也算充實。但是還有很多做得不夠,不夠淡定,容易被瑣碎的事心煩。2011年不再浮華,努力學習!好好工作!!

2011年要做得事情還有很多。
要看的技術書:
1.《泛型編程和STL》
2.《編程之美》
3.《win32程序設計》+線程池模型程序代碼
4.《大話設計模式》
5.《Domain-Driven Design》
要看一下經濟類的書

要看的其他書:
1.《穆斯林的葬禮》
2.張小嫻散文集

要去報個英語口語班,英語學習不能怠慢啊,否則英語會廢掉的。

2010年還剩沒幾天啦,開開心心的回家過春節!!好好休息一下,2011年希望自己天天開心,日子過得充實!!多讀書讀好書!!加油!!

posted @ 2011-01-27 17:11 呆人 閱讀(269) | 評論 (0)編輯 收藏

Effective C++書評

筆者c++的經驗:半年的c++開發經驗。
相比于前些日子讀的《深入探索c++對象模型》,這本書更適合于初學者。侯捷老師翻譯的清晰流暢。
本書有9章共55個item。
本書的前四章,個人認為對于有一定c++基礎的人來說都會受益匪淺。告訴了你很多的編程習慣。好的編程習慣是程序健壯性的一個重要保障。
書中不僅告訴你怎么樣做,還告訴你為什么這樣做,這讓我突然想起來以前的老大跟我說的話,不僅要知道how,還要知道why。這本書會告訴你why。
很多事情知道了why,how就會很好理解。

第五章因為牽涉到異常的處理,我對c++的異常不是很了解,還要差更多的資料再來讀第五章。第五章只是大略看了一下。

第六章繼承和面向對象設計。
我覺得讀這章更適合于設計,大型項目的時候用的多一些,對于平時寫點兒小程序,貌似是用不到,不過他對于public繼承和private繼承的描述還是讓人有種恍然大明白的感覺。(*^__^*) 嘻嘻……

第七章 模板與泛型編程
本章打算與侯捷老師的佳作《泛型編程與STL》結合看。書已經買到啦,春節回來繼續努力~\(≧▽≦)/~啦啦啦。

第八章第九章
大略看了一下。不發表意見啦。

posted @ 2011-01-27 16:08 呆人 閱讀(333) | 評論 (0)編輯 收藏

[算法題]輸出從1到1000的數[轉載]

有這樣一個面試題——請把從1到1000的數打印出來,但你不能使用任何的循環語句或是條件語句。更不能寫1000個printf或是cout用C/C++語言

個人比較贊賞的思路是下面兩個:

1. 函數指針數組結合n/1000的結果作為數組的index。

 1void yesprint(int i);
 2void noprint(int i);
 3 
 4typedef void(*fnPtr)(int);
 5fnPtr dispatch[] = { yesprint, noprint };
 6 
 7void yesprint(int i) {
 8    printf("%d\n", i);
 9    dispatch[i / 1000](i + 1);
10}

11 
12void noprint(int i) /* do nothing. */ }
13 
14int main() {
15      yesprint(1);
16}

17

2. 構造函數結合靜態變量結合數組。

 1 class Printer
 2 {
 3 public:
 4     Printer() { static unsigned i=1; cout << i++ << endl;; }
 5  
 6 };
 7  
 8 int main()
 9 {
10     Printer p[1000];
11 }
12 

posted @ 2011-01-17 10:30 呆人 閱讀(379) | 評論 (0)編輯 收藏

深入探索C++對象模型

     對于有半年c++學習經驗的我看這本書的時候確實挺吃力的,不過也正是因為很多地方不懂,所以在看這本書的時候查了很多資料,有了更多的收獲。
      首先是看不懂的地方:對于虛擬繼承和多重繼承的內容,我只是瀏覽了一下,因為我的能力實在是看不了這兩部分的內容。
      
      我之所以看這本書,是源于我對一個問題很糾結:這個問題是:指向類成員函數的指針的問題。這個問題讓我很糾結,可是這本書對這個問題講解的確實很透徹(第四章是對這個問題的講解)。
      這本書讓我印象最深的是對于多態的實現(動態綁定)的講解。virtual table的使用。通過它讓我對于繼承、多態有了更深刻的了解。
      
      這本書中有很多的圖表用來表示class object的結構,清晰明了。值得一看!

      這本書看完后,有收獲,但是離吃透這本書還差的遠,我還要繼續努力!差距還是很大滴,繼續努力!!

posted @ 2011-01-11 17:15 呆人 閱讀(360) | 評論 (0)編輯 收藏

使用位

 1 #include<windows.h>
 2 #pragma pack(push,1)
 3 typedef    struct    tagBite
 4 {
 5     UINT    bite3:8;
 6     UINT    bite2:8;
 7     UINT    bite1:8;
 8     UINT    bite0:8;
 9 }HBITE,*PHBITE;
10 typedef    union    tagDData
11 {
12     DWORD    dword;
13     BYTE    byte[4];
14     HBITE    bite;
15 }DDATA,*PDDATA;
16 #pragma pack(pop)
測試
 1void testBite()
 2{
 3    PHBITE pHbite = new HBITE;
 4    pHbite->bite0 =0;
 5    pHbite->bite1 =0;
 6    pHbite->bite2 =1;
 7    pHbite->bite3 =1;
 8
 9    UINT *pData = (UINT*)pHbite;
10    printf("data=%d\n",*pData);
11
12    HBITE hBite;
13    UINT uData=10;
14    memcpy(&hBite,&uData,sizeof(uData));
15
16    printf("hBite.bite3=%d,hBite.bite2=%d\n",hBite.bite3,hBite.bite2);
17}

posted @ 2011-01-04 14:15 呆人 閱讀(343) | 評論 (0)編輯 收藏

適合于網絡傳輸的一種數據結構

在網絡傳輸中要傳輸的數據往往是不定長的,一般我們可以分配足夠的空間,使用某個字段用于記錄傳輸的數據的長度。然后對數據壓縮后再進行傳輸。

定義數據結構
typedef struct tagTransferData
{
   ///一些其他信息////
   DWORD dataSize;
   char buffer[1];//定義一個可變長度的數組
}Data,*PData;
使用:
PData pData = (PData)malloc(10000);
memset(pData,0,10000);
。。。。。。。。。
char sendData[]="good morning everyone!";
strcpy(pData->buffer,sendData);
pData->dataSizse = strlen(sendData);
。。。。。。。。。
delete pData;

該數據結構:對于一塊內存,開始記錄了后面要傳輸數據的大小,緊接著是要傳輸的數據。是的數據比較緊湊,易于管理。
個人認為:分配的多余的空間使用數據壓縮后,不會導致傳輸太多的無用數據。

posted @ 2010-12-21 10:45 呆人 閱讀(615) | 評論 (1)編輯 收藏

WSAStartup函數的使用

int WSAStartup(
__in          WORD wVersionRequested,
__out         LPWSADATA lpWSAData
);

WSAStartup

  式: int PASCAL FAR WSAStartup( WORD wVersionRequested,  LPWSADATA lpWSAData );

  數:  wVersionRequested 欲使用的 Windows Sockets API 版本

lpWSAData  指向 WSADATA 資料的指標

傳回值:  成功 – 0

           失敗 - WSASYSNOTREADY / WSAVERNOTSUPPORTED /  WSAEINVAL

說明: 此函式「必須」是應用程式呼叫到 Windows Sockets DLL 函式中的第一個,也唯有此函式呼叫成功後,才可以再呼叫其他 Windows  Sockets DLL 的函式。此函式亦讓使用者可以指定要使用的 Windows Sockets API 版本,及獲取設計者的一些資訊。程式中我們要用 Winsock 1.1,所以我們在程式中有一段為:

WSAStartup((WORD)((1<<8)|1),(LPWSADATA) &WSAData)

其中 ((WORD)((1<<8)|1) 表示我們要用的是 Winsock 1.1」版本,而WSAData 則是用來儲存由系統傳回的一些有關此一 Winsock Stack 的資料。

The WSAStartup function initiates use of the Winsock DLL by a process.










在使用WSAStartup的使用出現了下面的問題:

源碼:
#include "stdafx.h"
#include
<windows.h>

int main()
{
    WSADATA wsa
={0};
    WSAStartup(MAKEWORD(
2,2),&wsa);
    
    
return 0;
}
出現的錯誤信息:
錯誤 1 error LNK2019: 無法解析的外部符號 _WSAStartup@8,該符號在函數 _main 中被引用 CompletePortDemo.obj CompletePortDemo
解決方法:添加#pragma comment(lib,"ws2_32.lib")
正確代碼:
#include "stdafx.h"
#include
<windows.h>
#pragma    comment(lib,
"ws2_32.lib")

int main()
{
    WSADATA wsa
={0};
    WSAStartup(MAKEWORD(
2,2),&wsa);
    
    
return 0;
}

posted @ 2010-12-17 14:47 呆人 閱讀(4127) | 評論 (0)編輯 收藏

vs2008只生成dll,沒有生成lib的解決方案

原因缺少.def文件。
在項目中添加一個def文件。eg. test.def.
然后
項目屬性->鏈接器->輸入->模塊定義文件->在里面添上test.def即可解決問題

posted @ 2010-12-15 17:48 呆人 閱讀(3853) | 評論 (1)編輯 收藏

僅列出標題
共6頁: 1 2 3 4 5 6 
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲乱码国产乱码精品精天堂| 一区二区三区.www| 久久精品国产一区二区电影| 国产日产精品一区二区三区四区的观看方式 | 欧美国产综合| 日韩午夜在线| 亚洲综合清纯丝袜自拍| 国产偷久久久精品专区| 欧美成人免费小视频| 蜜臀久久久99精品久久久久久| 亚洲日本中文字幕| 国产精品99久久久久久人| 国产日韩欧美不卡在线| 欧美激情女人20p| 欧美日韩中文字幕在线| 欧美在线影院在线视频| 蜜臀99久久精品久久久久久软件| 一区二区免费在线视频| 午夜在线精品| 亚洲美女在线国产| 性欧美大战久久久久久久久| 亚洲激情欧美| 亚洲一级影院| 亚洲人妖在线| 亚洲欧美福利一区二区| 亚洲国产欧美精品| 亚洲图片激情小说| 亚洲国产99精品国自产| 亚洲视频一二三| 91久久综合亚洲鲁鲁五月天| 亚洲午夜激情网页| 91久久精品国产91久久性色| 亚洲欧美99| 99www免费人成精品| 欧美一级淫片aaaaaaa视频| 亚洲人体偷拍| 久久久精品久久久久| 亚洲欧美视频一区| 欧美激情久久久久| 久久婷婷一区| 国产精品亚洲片夜色在线| 亚洲日本aⅴ片在线观看香蕉| 国产欧美激情| 一区二区免费在线视频| 亚洲人被黑人高潮完整版| 欧美在线观看日本一区| 亚洲男人av电影| 欧美日本一区| 亚洲黄色影院| 亚洲精品久久久久久久久久久| 性做久久久久久免费观看欧美| 在线亚洲欧美视频| 欧美精品乱人伦久久久久久 | 欧美在线|欧美| 欧美日韩综合另类| 亚洲激情第一页| 亚洲每日在线| 欧美大片一区二区三区| 欧美福利视频在线| 亚洲国产日本| 免费国产一区二区| 欧美国产第二页| 亚洲国产精品成人综合| 久久免费视频观看| 久久综合一区| 亚洲第一综合天堂另类专| 六十路精品视频| 亚洲电影自拍| 亚洲美女毛片| 欧美日韩综合一区| 中文av一区二区| 午夜天堂精品久久久久| 国产亚洲毛片| 久久久女女女女999久久| 免费日韩成人| 日韩视频―中文字幕| 欧美人牲a欧美精品| 亚洲看片免费| 欧美一区二区三区在线观看视频 | 国产欧美丝祙| 久久精品国产91精品亚洲| 久久综合九色综合欧美狠狠| 亚洲国产毛片完整版| 欧美激情综合在线| 亚洲一区二区三区四区五区黄| 久久爱www久久做| 狠狠色狠狠色综合人人| 老司机精品久久| 亚洲精品中文字幕女同| 欧美亚洲免费电影| 在线观看国产一区二区| 欧美精品在线一区二区三区| 亚洲一区精品在线| 欧美阿v一级看视频| 在线亚洲欧美| 激情五月婷婷综合| 欧美伦理影院| 欧美在线观看www| 亚洲乱码国产乱码精品精天堂| 欧美在线一区二区| 91久久中文字幕| 国产麻豆视频精品| 乱码第一页成人| 午夜精品区一区二区三| 91久久国产精品91久久性色| 亚洲欧美视频在线观看视频| 伊人久久亚洲美女图片| 欧美日韩直播| 欧美a级片网站| 亚洲欧美视频在线| 亚洲精品欧洲精品| 巨乳诱惑日韩免费av| 亚洲自拍偷拍麻豆| 亚洲精品日韩欧美| 黄色在线一区| 国产精品亚洲片夜色在线| 欧美精品在线一区| 老司机免费视频久久| 亚洲免费一在线| 亚洲精品日韩久久| 欧美成人午夜77777| 久久精品国产91精品亚洲| av成人黄色| 亚洲美女性视频| 在线观看国产精品网站| 国产一区二区三区四区在线观看| 欧美色综合网| 欧美日本一道本| 欧美精品三级日韩久久| 麻豆av福利av久久av| 久久久欧美精品sm网站| 欧美伊人久久| 亚洲欧美日韩一区二区在线| 99日韩精品| 洋洋av久久久久久久一区| 亚洲欧洲在线一区| 亚洲国产精品激情在线观看| 免费成人av| 欧美激情网友自拍| 亚洲承认在线| 亚洲国产精品久久久久婷婷老年| 久久综合五月天婷婷伊人| 久久九九全国免费精品观看| 久久国产精品久久精品国产| 先锋影音国产一区| 亚洲免费网址| 欧美中文字幕在线视频| 欧美一区二区成人6969| 欧美亚洲日本一区| 久久久精品日韩欧美| 久久免费视频这里只有精品| 久久婷婷成人综合色| 免费久久99精品国产| 欧美成人免费网站| 亚洲国产日韩一级| 日韩天天综合| 午夜精品久久| 久久午夜激情| 欧美日韩国产小视频| 国产精品v欧美精品v日韩| 国产精品入口66mio| 狠狠做深爱婷婷久久综合一区| 伊人激情综合| av成人免费在线| 久久不射中文字幕| 巨胸喷奶水www久久久免费动漫| 欧美激情视频一区二区三区免费| 亚洲国产va精品久久久不卡综合| 亚洲三级影院| 亚洲欧美综合v| 久热re这里精品视频在线6| 欧美日韩第一区日日骚| 国产三级欧美三级日产三级99| 伊人精品久久久久7777| 99热在这里有精品免费| 久久精品麻豆| 亚洲人午夜精品| 亚洲区免费影片| 小黄鸭精品aⅴ导航网站入口| 麻豆成人在线| 日韩手机在线导航| 久久精品在线播放| 欧美午夜免费电影| 樱花yy私人影院亚洲| 亚洲一区在线播放| 免费高清在线视频一区·| 日韩一区二区免费高清| 欧美在线三级| 国产精品麻豆成人av电影艾秋 | 欧美大片免费看| 国产一区二区三区在线观看视频 | 亚洲高清在线精品| 欧美在线免费一级片| 欧美日韩精品免费观看视频完整| 国产亚洲精久久久久久| 夜夜精品视频一区二区| 久久三级福利| 亚洲女女女同性video| 欧美美女喷水视频| 在线观看欧美视频|