test

// test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include
#include
//670147918
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

class Test
{
friend bool operator < (Test const& t1, Test const& t2)
{
return t1.a < t2.a;
}

friend ostream& operator< {
o< return o;
}

public:
int a;
int b;
int c;
};


typedef list INTLIST;

//从前向后显示list队列的全部元素

void put_list(INTLIST list, char *name)
{
INTLIST::iterator plist;

printf("The contents of %sn", name);
for(plist = list.begin(); plist != list.end(); plist++)
{
printf("a = %d, b = %d n", ((Test*)&(*plist))->a, ((Test*)&(*plist))->b);
}
printf("n");
}


int main(int argc, char* argv[])
{

//list1对象初始为空
INTLIST list1;
//list2对象最初有10个值为6的元素
Test test1;
test1.a = 110;
test1.b = 2;
test1.c = 3;

Test test2;
test2.a = 120;
test2.b = 20;
test2.c = 30;

Test test4;
test4.a = 130;
test4.b = 20;
test4.c = 30;

INTLIST list2(10, test1);
//list3对象最初有3个值为6的元素
INTLIST list3(list2.begin(),--list2.end());

//声明一个名为i的双向迭代器
INTLIST::iterator i;

//从前向后显示各list对象的元素
//put_list(list1,"list1");
//put_list(list2,"list2");
//put_list(list3,"list3");


//从list1序列后面添加两个元素
list1.push_back(test1);
list1.push_back(test2);
list1.push_back(test4);
//put_list(list1,"list1");

//list1.push_front(5);
//list1.push_front(7);
//printf("list1.push_front(5) and list1.push_front(7)n");
//put_list(list1,"list1");

//在list1序列中间插入数据
Test test3;
test3.a = 199;
test3.b = 120;
test3.c = 130;
//list1.push_back(test3);

//list1.sort();
put_list(list1,"list1");

///return 0;

INTLIST::reverse_iterator plist;
INTLIST::iterator plist1 = list1.end();
for(plist = list1.rbegin(); plist != list1.rend(); plist++)
{

printf("a = %d, b = %d n", ((Test*)&(*plist))->a, ((Test*)&(*plist))->b);
if(((Test*)&(*plist))->a <= test3.a)
{
break;
}

--plist1;

}

list1.insert(plist1, 1, test3);

//list1.insert(++list1.begin(),1,test3);
printf(" insert n");
put_list(list1,"list1");


return 0;
}

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/2008/viewspace-1026135/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/2008/viewspace-1026135/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值