C++筆記— 排序函式sort() 和vector容器
來源:菜鳥教程(侵刪)
一、排序函式sort()的排序(涉及到vector容器)
#include <string.h>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
vector<int>obj;
obj.push_back(1);
obj.push_back(3);
obj.push_back(0);
sort(obj.begin(),obj.end());//從小到大
cout<<"從小到大:"<<endl;
for(int i=0;i<obj.size();i++)
{
cout<<obj[i]<<",";
}
cout<<"\n"<<endl;
cout<<"從大到小:"<<endl;
reverse(obj.begin(),obj.end());//從大到小
for(int i=0;i<obj.size();i++)
{
cout<<obj[i]<<",";
}
return 0;
}
輸出結果為:
從小到大:
0,1,3,
從大到小:
3,1,0,
1. 注意:
sort 需要標頭檔案 #include <algorithm>
2. 如果想 sort 來降序,可重寫 sort
bool compare(int a,int b)
{
return a< b; //升序排列,如果改為return a>b,則為降序
}
int a[20]={2,4,1,23,5,76,0,43,24,65},i;
for(i=0;i<20;i++)
cout<< a[i]<< endl;
sort(a,a+20,compare);
vector容器物件:
陣列內元素物件的訪問:
1、直接陣列訪問
2、迭代器訪問
#include <string.h>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
//順序訪問
vector<int>obj;
for(int i=0;i<10;i++)
{
obj.push_back(i);
}
cout<<"直接利用陣列:";
for(int i=0;i<10;i++)//方法一
{
cout<<obj[i]<<" ";
}
cout<<endl;
cout<<"利用迭代器:" ;
//方法二,使用迭代器將容器中資料輸出
vector<int>::iterator it;//宣告一個迭代器,來訪問vector容器,作用:遍歷或者指向vector容器的元素
for(it=obj.begin();it!=obj.end();it++)
{
cout<<*it<<" ";
}
return 0;
}
輸出結果為:
直接利用陣列:0 1 2 3 4 5 6 7 8 9
利用迭代器:0 1 2 3 4 5 6 7 8 9
二維陣列的兩種定義:
方法一:
#include <string.h>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int N=5, M=6;
//定義二維動態陣列大小5行
for(int i =0; i< obj.size(); i++)//動態二維陣列為5行6列,值全為0
{
obj[i].resize(M);
}
for(int i=0; i< obj.size(); i++)//輸出二維動態陣列
{
for(int j=0;j<obj[i].size();j++)
{
cout<<obj[i][j]<<" ";
}
cout<<"\n";
}
return 0;
}
方法二:
#include <string.h>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int N=5, M=6;
vector<vector<int> > obj(N, vector<int>(M)); //定義二維動態陣列5行6列
for(int i=0; i< obj.size(); i++)//輸出二維動態陣列
{
for(int j=0;j<obj[i].size();j++)
{
cout<<obj[i][j]<<" ";
}
cout<<"\n";
}
return 0;
}
相關文章
- C++ sort排序函式的用法總結C++排序函式
- C++中使用sort對常見容器排序C++排序
- Vector容器主要函式說明函式
- 排序(對於 sort 函式的使用)排序函式
- C++ ——vector陣列筆記C++陣列筆記
- C++的vector容器C++
- c++ vector容器、字串C++字串
- C++之vector容器C++
- C++學習筆記-----類和建構函式C++筆記函式
- C++ 容器vector的使用C++
- C++學習筆記(二)——函式C++筆記函式
- sort()函式函式
- 【c++】結構體sort排序C++結構體排序
- c++ vector容器——檢測更改容量和大小 示例C++
- C++ vector容器的swap方法(容器互換)C++
- C++ partial_sort(部分排序)C++排序
- 排序演算法之「快速排序(Quick Sort) _c++ 」排序演算法UIC++
- 【C++筆記】虛擬函式(從虛擬函式表來解析)C++筆記函式
- 【C++筆記】虛擬函式(從虛擬函式概念來解析)C++筆記函式
- Arr::sort()輔助函式對多維陣列的排序函式陣列排序
- C++ 學習筆記(1):STL、Vector 與 SetC++筆記
- 第三章:查詢與排序(下)----------- 3.28 特殊排序(利用sort函式)排序函式
- Sort排序專題(5)快速排序(QuickSort)(C++實現)排序UIC++
- python用List的內建函式list.sort進行排序Python函式排序
- c++ std::vector 切記C++
- (戀上資料結構筆記):歸併排序(Merge Sort)資料結構筆記排序
- Sort排序專題(7)歸併排序(MergeSort)(C++實現)排序C++
- 《C++ Primer》學習筆記(六):C++模組設計——函式C++筆記函式
- map和set對vector排序排序
- sort排序排序
- 筆記:Python函式筆記Python函式
- python筆記-函式Python筆記函式
- C++學習筆記-C++對C語言的函式擴充C++筆記C語言函式
- C++【vector】用法和例子C++
- 【C++進階筆記】(1)函式模板的宣告及使用C++筆記函式
- C++入門記-建構函式和解構函式C++函式
- 【筆記】普通生成函式筆記函式
- Javascript陣列排序sort方法和自定義排序方法JavaScript陣列排序