vector和iterator的使用,排序,打印,挑选偶数

#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;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值