C++ Code:
// 顺序容器STL::list用法
#include<iostream>
#include <stdio.h>
#include <stdlib.h>
#include <list>
using namespace std;
void appendItems(list<int> &li, int n)
{
for(int i = 0; i < n; i++)
{
li.push_back(i+1);
}
}
void appendItems(list<string> &li, int n)
{
char buf[100];
for(int i = 0; i < n; i++)
{
sprintf(buf, "Hello world%d", i+1);
li.push_back(string(buf));
}
}
void display(list<int> &li)
{
for(list<int>::iterator it = li.begin(); it != li.end(); it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
}
void display(list<string> &li)
{
for(list<string>::iterator it = li.begin(); it != li.end(); it++)
{
cout<<it->c_str()<<endl;
}
cout<<endl;
}
int main(int argc, char *argv[])
{
if(argc < 2)
{
cout<<"Usage: "<<argv[0]<<" <n>"<<endl;
return 1;
}
int n = atoi(argv[1]);
list<int> ilist;
appendItems(ilist, n);
display(ilist);
list<string> ilist2;
appendItems(ilist2, n);
display(ilist2);
return 0;
}
运行结果:
[zcm@t #43]$make
g++ -c -o a.o a.c
g++ -o a a.o
[zcm@t #44]$./a 10
1 2 3 4 5 6 7 8 9 10
Hello world1
Hello world2
Hello world3
Hello world4
Hello world5
Hello world6
Hello world7
Hello world8
Hello world9
Hello world10
[zcm@t #45]$