#include
#include
#include
#include
#include
using namespace std;
mfc工程中:
void cvectortestdlg::onbutton1() ;
*/cstring strmsg;
entry phone_book1[10];
phone_book1[0].name="aaa";
phone_book1[0].nomber=10;
strmsg.format("使用陣列:%s",phone_book1[0].name.c_str());
messagebox(strmsg);
///vector(有整形索引,可視為可變陣列)
vectorphone_book(10);
phone_book[0].name="aaa";
phone_book[0].nomber=0;
strmsg.format("使用vector:%s",phone_book1[0].name.c_str());
messagebox(strmsg);
phone_book.resize(phone_book.size()+1);
phone_book[10].name="10aaa";
phone_book[10].nomber=10;
strmsg.format("重建大小後最後乙個元素:%s",phone_book[10].name.c_str());
messagebox(strmsg);
///list(無索引,用於對檢索要求不高,插入刪除又頻繁的場合)
listlphone_book;
entry el;
el.name="name0";//插入在起始
el.nomber=0;
lphone_book.push_front(el);
el.name="name2";//插入在最未
el.nomber=2;
lphone_book.push_back(el);
list::iterator ip;
el.name="name1";//插入在特定位址
el.nomber=1;
ip=lphone_book.begin();
ip++;
lphone_book.insert(ip,el);
typedef list::const_iterator li;
strmsg="list中的元素:";
for (li i=lphone_book.begin();i!=lphone_book.end();++i)
messagebox(strmsg);
///map(索引和返回值的資料型別可自定)
mapmphone_book;//用mphone_book的第乙個型別的某個值去作索引時,返回第二個型別的對應值。
mphone_book["name0"]=0;
mphone_book["name1"]=1;
strmsg.format("name0的號碼:%d",mphone_book["name0"]);
messagebox(strmsg); }
注意:vectorintvalues(10);是10個元素的1個向量
vectorintvalues[10];是陣列,含10個空向量
c++ lists(鍊錶)
lists將元素按順序儲存在鍊錶中. 與 向量(vectors)相比, 它允許快速的插入和刪除,但是隨機訪問卻比較慢.
assign() 給list賦值
back() 返回最後乙個元素
begin() 返回指向第乙個元素的迭代器
clear() 刪除所有元素
empty() 如果list是空的則返回true
end() 返回末尾的迭代器
erase() 刪除乙個元素
front() 返回第乙個元素
get_allocator() 返回list的配置器
insert() 插入乙個元素到list中
max_size() 返回list能容納的最大元素數量
merge() 合併兩個list
pop_back() 刪除最後乙個元素
pop_front() 刪除第乙個元素
push_back() 在list的末尾新增乙個元素
push_front() 在list的頭部新增乙個元素
rbegin() 返回指向第乙個元素的逆向迭代器
remove() 從list刪除元素
remove_if() 按指定條件刪除元素
rend() 指向list末尾的逆向迭代器
resize() 改變list的大小
reverse() 把list的元素倒轉
size() 返回list中的元素個數
sort() 給list排序
splice() 合併兩個list
swap() 交換兩個list
unique() 刪除list中重複的元素
附list用法例項:
#include
#include
#include
#include
using namespace std;
//建立乙個list容器的例項listint
typedef listlistint;
//建立乙個list容器的例項listchar
typedef listlistchar;
void main(void)
補充:stl標準函式find進行vector 、list鍊錶查詢
#include
#include
#include
class example
bool operator==(example const & rhs)
private:
int i;
};using namespace std;
int main(void)
{vectorve;
ve.push_back(1);
vector::iterator it;
example elem(1);
it = find(ve.begin(), ve.end(), elem);
cout<
查詢 靜態查詢 順序查詢
查詢表 1 查詢某個 特定的 資料元素是否在查詢表中 2 檢索某個 特定的 資料元素的各種屬性 3 在查詢表中插入乙個資料元素 4 從查詢表中刪去某個資料元素 靜態查詢 1 2 動態查詢 1 2 3 4 順序查詢 儲存結構和查詢操作 與 順序表基本相同 o n include include usi...
查詢 多表查詢。。。
此時你得使用鏈結條件。通過存在於相對應列中的公共值,乙個表中的資料可以被另乙個表的資料鏈結,通常都是主鍵和外來鍵進行鏈結。一般鏈結條件寫在where子句裡。select empno,emp.deptno,loc from emp,dept where emp.deptno dept.deptno 對...
查詢 順序查詢
順序查詢的思路 從資料的第乙個元素開始,依次將掃瞄到的關鍵字和給定值key比較。若當前掃瞄到的關鍵字和key相等,則查詢成功 若掃瞄結束還沒有找到和key相等的元素,就表示查詢給定的值不在表中。時間複雜度 o n 優點 1.演算法簡單 2.對錶結構沒有任何要求,用順序表或者用鍊錶都可以。3.表中元素...