#include <iostream>
#include <vector>
using std::vector;
using namespace std;
void pick_even_number(vector<int> ivec);
void bubble_sort(vector<int> &ivec);
void print_i(vector<int> ivec);
int main()
{
int a[] = {3, 5, 7, 1, 2, 9, 0, 4, 8, 6};
int i;
int j;
vector<int> ivec;
vector<int> v;
for(i = 0; i < 10; i++){
ivec.push_back(a[i]);
}
print_i(ivec);
bubble_sort(ivec);
pick_even_number(ivec);
print_i(ivec);
return 0;
}
/*
* pick_even_number - pick up the even number and output them!
* @ivec: vector that numbers in
*/
void pick_even_number(vector<int> ivec)
{
vector<int>::iterator iter = ivec.begin();
/*
* C++ programmers tend to write loops using != preference
* to < as a matter of habit.
*/
for(; iter != ivec.end(); ++iter){
// modulo operation to pick up even number
if(0 == (*iter % 2)){
cout<<*iter<<" ";
ivec.erase(iter);
}
}
cout<<endl;
}
/*
* bubble_sort - sort numbers with bubble method
* @ivec: the vector we will sort
*/
void bubble_sort(vector<int> &ivec)
{
int i;
int j;
int size = ivec.size();
for(i=0; i < size; i++){
for(j=i; j < size; j++){
int temp;
if(ivec[i] < ivec[j]){
temp = ivec[i];
ivec[i] = ivec[j];
ivec[j] = temp;
}
}
}
}
/*
* print_i - print the vector
* @ivec: the vector we will print
*/
inline void print_i(vector<int> ivec)
{
// If vector is empty v.begin() == v.end()
// v.end() is off the end iterator it is a sentinel
/*
for(vector<int>::iterator iter = ivec.begin();
iter != ivec.end(); ++iter){
cout<<*iter<<" ";
}
*/
/*
* here use const_iterator is better than iterator
* because we don't change element value
*/
for(vector<int>::const_iterator citer = ivec.begin();
citer != ivec.end(); ++citer){
cout<<*citer<<" ";
}
cout<<endl;
}
vector和iterator的使用,排序,打印,挑选偶数
最新推荐文章于 2023-06-12 22:34:43 发布