亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? maptest.cpp

?? Vector和Map的一些用法.還有其他人的一些算法.
?? CPP
字號:
//   map.cpp   :   Defines   the   entry   point   for   the   console   application.   
  //   
    
//  #include   "stdafx.h"   
#pragma   warning(disable:4786)   
#pragma   warning(disable:4251)   
#pragma   warning(disable:4273)   

#include <windows.h>
#include <math.h>
#include <map>
#include <vector>
#include <algorithm>
#include <iostream>
#include <string>
using   namespace   std; 

typedef struct tag_INFORMATION 
{
	int iIndex;
	char chInfo[MAX_PATH];

	tag_INFORMATION()
	{
		iIndex = 0;
		memset(chInfo,0,strlen(chInfo));
	}
}INFORMATION;

typedef std::vector<INFORMATION> INFORMATION_VEC;
typedef std::vector<INFORMATION_VEC> INFORMATION_VEC_VEC;

typedef std::vector<string> STRING_VEC;
typedef std::vector<STRING_VEC> STRING_VEC_VEC;

/*****************************************************************************************************
STL(Standard Template Library,標準模板庫)是惠普實驗室開發的一系列軟件的統稱。
它是由Alexander Stepanov、Meng Lee和David R Musser在惠普實驗室工作時所開發出來的。
現在雖說它主要出現在C++中,但在被引入C++之前該技術就已經存在了很長的一段時間。

 STL的代碼從廣義上講分為三類:algorithm(算法)、container(容器)和iterator(迭代器),
 幾乎所有的代碼都采用了模板類和模版函數的方式,這相比于傳統的由函數和類組成的庫來說提供了更好的代碼重用機會。
 在C++標準中,STL被組織為下面的13個頭文件:
 <algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、
 <memory>、<numeric>、<queue>、<set>、<stack>和<utility>。
 以下筆者就簡單介紹一下STL各個部分的主要特點。
*****************************************************************************************************/
//#define _TEST_VEC_SORT	1														//打開測試vector的開關 
//#define  _TEXT_MAP 1																//測試映射關系
//#define  _TEST_CONVERT																//字符串轉換函數
#define _TEST_VECEQUAL																	//用來測試兩個VEC是否相等
struct   ltstr																	//用來排序的回調函數
{   
	bool   operator()(const   char*   s1,   const   char*   s2)   const   
	{   
		return   strcmp(s1,   s2)   <   0;   
	}   
};

bool rule( const int& p1, const int& p2 )
{
	return p1 > p2;
}
   

int   main(int   argc,   char*   argv[])   
{   
	
#ifdef _TEST_MAP																//測試MAP的用法的代碼
	map<const   char*,   int,   ltstr>   months;   
	months["january"]   =   31;   
	months["february"]   =   28;   
	months["march"]   =   31;   
	months["april"]   =   30;   
	months["may"]   =   31;   
	months["june"]   =   30;   
	months["july"]   =   31;   
	months["august"]   =   31;   
	months["september"]   =   30;   
	months["october"]   =   31;   
	months["november"]   =   30;   
	months["december"]   =   31;   
	map<const   char*,   int,   ltstr>::size_type   st   =   months.size();   
	int   i=months["january"];   
	i=months["february"];
	months["machengqi"] = 41;
	months.clear();
	cout<<i<<endl;
#else ifdef _TEST_VEC_SORT														//測試VECTOR排序的算法
	
	int source[] = { 1, 4, 4, 6, 1, 2, 2, 3, 1, 6, 6, 6, 5, 7,5, 4, 4 };
	int sourceNum = sizeof(source)/sizeof(source[0]);
	vector<int> coll;
	
	
	cout<<"把源數據插入到vector中:"<<endl;
	copy (source, source+sourceNum,              //source
		back_inserter(coll)) ;					//由于是第一次所以一定要分配內存,不然后出拒絕訪問內存溢出錯誤                 //destination                     //把source目標中的數據插入到vector當中
	
    cout<<"排序之前的順序:"<<endl;
	copy (coll.begin(), coll.end(), ostream_iterator<int>(cout," "));
	cout << "\n\n";
	
	sort(coll.begin(),coll.end());
	
	cout<<"排序后的順序"<<endl;
	copy(coll.begin(),coll.end(),ostream_iterator<int>(cout," "));
	cout<<endl;
	/*for (int i=0;i<coll.size();i++)
	{
		cout<<coll[i];
	}
	cout<<endl;*/

	vector<int> :: iterator pos;
	pos = unique (coll.begin(), coll.end());
	cout<<"取唯一值后的順序:"<<endl;
	copy (coll.begin(), coll.end(), ostream_iterator<int>(cout," "));
	cout << "\n\n";
	
	cout<<"從開始位置輸出唯一的序列:"<<endl;
	copy (coll.begin(), pos, ostream_iterator<int>(cout," "));      
	cout << "\n\n";
	
	
	cout<<"重新copy一遍覆蓋排序后的順序:"<<endl;
	copy (source, source+sourceNum,coll.begin());      
	
	
	cout<<"排序之前的順序:"<<endl;
	copy (coll.begin(), coll.end(),ostream_iterator<int>(cout," "));
	cout << "\n\n";
	
	pos = unique(coll.begin(),coll.end(),greater<int>());
	cout<<"不經過排序直接取唯一值后的順序:"<<endl;
	copy(coll.begin(),coll.end(),ostream_iterator<int>(cout," "));
	cout<<endl;
	//remove elements if there was a previous greater element
	//如果先前創建了多個元素就刪除這個元素
	coll.erase (pos, coll.end()); 
	
	//把數組的內容復制到屏幕
	cout<<"擦除數組當中從唯一元素位置到結束位置的元素后的順序:"<<endl;
	copy (coll.begin(), coll.end(), ostream_iterator<int>(cout," "));
	cout << "\n\n";	

	//使用自定義規則輸出
	OutputDebugString("清除所有內容\n");
	//afxDump<<"清除所有數據!\n";
	coll.clear();
	OutputDebugString("重新插入數據!\n");
	copy(source,source+sourceNum,back_inserter(coll));
	cout<<"新插入的數據的順序"<<endl;
	copy(coll.begin(),coll.end(),ostream_iterator<int>(cout," "));
	cout<<endl;

	OutputDebugString("用自己的方式得到唯的元素!\n");
	pos = unique(coll.begin(),coll.end(),rule);

	//得到唯一序列后的元素
	cout<<"用自己順序排序后的順序"<<endl;
	copy(coll.begin(),coll.end(),ostream_iterator<int>(cout," "));
	cout<<endl;

#endif

#ifdef _TEST_CONVERT
  char   *string, *stopstring;
   double x;
   long   l;
   int    base;
   unsigned long ul;
   string = "3.1415926This stopped it";
   x = strtod( string, &stopstring );
   printf( "string = %s\n", string );
   printf("   strtod = %f\n", x );
   printf("   Stopped scan at: %s\n\n", stopstring );
   string = "-10110134932This stopped it";
   l = strtol( string, &stopstring, 10 );
   printf( "string = %s", string );
   printf("   strtol = %ld", l );
   printf("   Stopped scan at: %s", stopstring );
   string = "10110134932";
   printf( "string = %s\n", string );
   /* Convert string using base 2, 4, and 8: */
   for( base = 2; base <= 8; base *= 2 )
   {
      /* Convert the string: */
      ul = strtoul( string, &stopstring, base );
      printf( "   strtol = %ld (base %d)\n", ul, base );
      printf( "   Stopped scan at: %s\n", stopstring );
   }

   string = "4D";
   stopstring = "\\0";
   long lResult = strtol(string, 0, 16);
   cout<<lResult<<endl;
#endif

#ifdef _TEST_VECEQUAL

   string strArray[] = {"00001","00002","00003","00004","00005","00006","00007","00008","00009",""};

   STRING_VEC_VEC strVecVec1;
   STRING_VEC_VEC strVecVec2;

   INFORMATION_VEC_VEC strVecVec3;
   INFORMATION_VEC_VEC strVecVec4;

   int iIndex = 0;
   while (true)
   {
		if (strArray[iIndex] == "")
		{
			break;
		} 
		STRING_VEC strVec;
		strVec.push_back(strArray[iIndex]);
		strVecVec1.push_back(strVec);
		strVecVec2.push_back(strVec);
	
		iIndex++;
   }

   strVecVec1.erase(&strVecVec1[0]);
   STRING_VEC strVec;
   STRING_VEC_VEC strVecVec;
   strVec.push_back(strArray[0]);
   strVec.push_back("machengqi");
   strVecVec.push_back(strVec);
   //strVecVec1.push_back(strVec);
   //strVecVec1[0].clear();
   strVecVec1.insert(strVecVec1.begin(),strVecVec.begin(),strVecVec.end());

   strVecVec1[0][0].swap(strVecVec1[0][1]);

   cout<<"數組一的內容:"<<endl;
   for (int i=0;i<strVecVec1.size();i++)
   {
	   for (int k=0;k<strVecVec1[i].size();k++)
	   {
		   cout<<strVecVec1[i][k]<<endl;
	   }
	   //cout<<strVecVec1[i][0]<<endl;
   }

   cout<<"數組二的內容"<<endl;
   for (int j=0;j<strVecVec2.size();j++)
   {
	   for (int k=0;k<strVecVec2[j].size();k++)
	   {
		   cout<<strVecVec2[j][k]<<endl;
	   }
   }

   if (strVecVec1 == strVecVec2)
   {
	   cout<<"數組相等!"<<endl;
   }
   else
   {
	   cout<<"數組不相等!"<<endl;
   }

 /*  if (strVecVec3 == strVecVec4)
   {
	   cout<<"結構體數組相等!"<<endl;
   }
   else
   {
	   cout<<"結構體數組不相等"<<endl;
   }*/
#endif
   
	getchar();
	return   0;   
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女同互慰高潮91漫画| 婷婷开心激情综合| 国产精品一卡二| 欧美一卡二卡在线观看| 日本最新不卡在线| 欧美一级片在线观看| 久久成人综合网| 欧美v亚洲v综合ⅴ国产v| 国产精品123| 中文字幕一区在线观看| 色狠狠av一区二区三区| 依依成人精品视频| 7777精品伊人久久久大香线蕉最新版| 美女在线视频一区| 久久综合精品国产一区二区三区| 成人黄色软件下载| 亚洲欧美精品午睡沙发| 欧美日韩国产在线观看| 裸体健美xxxx欧美裸体表演| 欧美精品一区二区久久久| 成人深夜在线观看| 亚洲一区二区三区在线| 欧美变态tickling挠脚心| 国产福利一区二区三区视频| 亚洲精品欧美二区三区中文字幕| 欧美日韩免费在线视频| 韩国欧美一区二区| 亚洲一区二区视频在线观看| 欧美大片在线观看一区二区| 成人精品小蝌蚪| 亚洲国产精品久久久男人的天堂| 日韩美一区二区三区| av一区二区三区在线| 午夜精品成人在线视频| 国产日韩欧美高清| 欧洲生活片亚洲生活在线观看| 美腿丝袜亚洲色图| 亚洲四区在线观看| 91精品国产综合久久久蜜臀图片| 成人av影视在线观看| 性做久久久久久久免费看| 国产精品天干天干在观线| 欧美高清激情brazzers| 亚洲综合色网站| 亚洲电影你懂得| 国产伦精品一区二区三区视频青涩| 91亚洲午夜精品久久久久久| 欧美国产丝袜视频| 久久99国产精品成人| 欧美日韩mp4| 丰满放荡岳乱妇91ww| 92精品国产成人观看免费| 国产精品黄色在线观看| 欧美一级艳片视频免费观看| 不卡欧美aaaaa| 精久久久久久久久久久| 性感美女极品91精品| 综合分类小说区另类春色亚洲小说欧美| 69久久夜色精品国产69蝌蚪网| 不卡高清视频专区| 国产乱码精品一区二区三区五月婷| 亚洲mv在线观看| 亚洲精品免费一二三区| 国产精品视频在线看| 欧美精品一区二区三区一线天视频| 欧美日免费三级在线| 99久久er热在这里只有精品15| 激情五月婷婷综合| 日本视频一区二区三区| 丝袜国产日韩另类美女| 亚洲午夜在线电影| 亚洲精品一二三区| 亚洲日本免费电影| 亚洲欧洲成人av每日更新| 久久久亚洲精华液精华液精华液| 精品久久久久久久人人人人传媒 | 亚洲国产激情av| 精品欧美黑人一区二区三区| 欧美一级久久久| 日韩精品一区在线观看| 日韩精品一区二区三区老鸭窝| 日韩美女一区二区三区四区| 日韩视频一区二区在线观看| 日韩午夜在线影院| 欧美电影免费提供在线观看| 久久噜噜亚洲综合| 精品剧情v国产在线观看在线| 91精品国产色综合久久久蜜香臀| 欧美一区二区在线免费播放| 欧美一二三区在线观看| 欧美大片在线观看一区二区| 久久精品无码一区二区三区| 中文字幕国产一区二区| 中文一区一区三区高中清不卡| 国产精品久久久久影视| 亚洲欧洲精品一区二区三区 | 久久精品噜噜噜成人av农村| 捆绑紧缚一区二区三区视频| 国产一区三区三区| 国产一区二区三区免费在线观看| 国产伦精品一区二区三区免费 | 91伊人久久大香线蕉| 白白色亚洲国产精品| 在线影院国内精品| 欧美精品在线一区二区| 欧美大白屁股肥臀xxxxxx| 2017欧美狠狠色| 国产精品高潮久久久久无| 亚洲欧美激情小说另类| 视频在线观看一区二区三区| 精品亚洲欧美一区| 成人高清在线视频| 欧美视频完全免费看| 日韩欧美不卡一区| 国产精品女人毛片| 日韩精品乱码免费| 国产69精品久久久久毛片| 在线视频一区二区三| 精品剧情在线观看| 亚洲精品视频免费看| 国产一区欧美一区| 色成年激情久久综合| 精品蜜桃在线看| 一区二区三区四区在线免费观看| 日本午夜一区二区| 9i在线看片成人免费| 精品捆绑美女sm三区| 一区二区三区国产精品| 国产成人免费网站| 欧美疯狂性受xxxxx喷水图片| 国产精品你懂的| 久久国产人妖系列| 在线看国产日韩| 久久蜜桃av一区二区天堂| 亚洲国产精品久久人人爱蜜臀| 国产精品456| 欧美肥妇毛茸茸| 亚洲色图制服诱惑 | 日韩精品久久理论片| 成人av免费在线观看| 5566中文字幕一区二区电影| 亚洲欧美国产77777| 国产毛片精品国产一区二区三区| 欧美写真视频网站| 最新日韩av在线| 精彩视频一区二区| 欧美老人xxxx18| 亚洲免费视频中文字幕| 国产91精品一区二区麻豆网站 | 欧美日韩国产天堂| 亚洲桃色在线一区| 丁香六月综合激情| 久久美女艺术照精彩视频福利播放 | 日韩视频免费观看高清完整版| 亚洲色图制服丝袜| 高清免费成人av| 久久这里只有精品首页| 琪琪一区二区三区| 欧美三级日韩在线| 一区二区三区鲁丝不卡| 99国产精品久久久久久久久久久| 久久免费看少妇高潮| 精品一区二区三区在线观看| 欧美电影影音先锋| 亚洲成人你懂的| 欧美亚洲动漫精品| 亚洲专区一二三| 欧美三级在线看| 天堂午夜影视日韩欧美一区二区| 欧美色欧美亚洲另类二区| 洋洋av久久久久久久一区| 色偷偷久久人人79超碰人人澡| 亚洲视频一二三| 欧美专区日韩专区| 天天色综合天天| 日韩一级片网站| 久久国产免费看| 精品99999| 国产美女精品在线| 国产精品久久久久久久久图文区 | 中文字幕欧美国产| 欧美区在线观看| 亚洲bt欧美bt精品| 在线播放中文一区| 青青草国产成人av片免费| 欧美zozozo| 国v精品久久久网| 亚洲免费在线观看| 欧美巨大另类极品videosbest| 青青草成人在线观看| 久久这里只有精品视频网| 成人免费高清在线| 亚洲天堂免费看| 欧美群妇大交群中文字幕| 国模少妇一区二区三区| 国产精品美女久久福利网站| 色综合久久综合| 日本美女视频一区二区| 久久无码av三级| 91亚洲国产成人精品一区二区三 |