3.1 PrintList 编译器vs2013 基于STL
#include "stdafx.h"
#include <iostream>
#include<list>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
list<int> m_list;
m_list.push_back(2);
m_list.push_back(3);
m_list.push_back(7);
list<int>::iterator it;
for (it = m_list.begin(); it != m_list.end(); it++)
cout << *it << " ";
system("pause");
return 0;
}
《数据结构与算法分析》Chap3 3.6
<pre name="code" class="cpp">/*《数据结构与算法分析》Chap3 3.6*/
#include "stdafx.h"
#include <iostream>
#include<list>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
struct poly{ //结构体定义多项式
int coff; //系数
int power; //指数
};
/*list1初始化,定义多项式1*/
list<poly> list1;
list1.push_back({ 1, 1 }); list1.push_back({ 2, 5 }); list1.push_back({ 3, 9 });
/*list2初始化,定义多项式2*/
list<poly> list2;
list2.push_back({ 1, 0 }); list2.push_back({ 3, 5 });
list<poly> listadd;
list<poly>::iterator p; list<poly>::iterator q;
p = list1.begin(); q = list2.begin();
while(p!= list1.end()&&q!=list2.end()){
if (p->power == q->power){ listadd.push_back({ p->coff + q->coff, p->power }); p++; q++; }
else if (p->power < q->power) { listadd.push_back({ p->coff, p->power }); p++; }
else { listadd.push_back({ q->coff, q->power }); q++; }
}
if (p != list1.end()){
for (; p != list1.end(); p++) listadd.push_back({ p->coff, p->power });
}
else if (q != list2.end()){
for (; q != list2.end(); q++) listadd.push_back({ q->coff, q->power });
}
for (p = listadd.begin(); p != listadd.end(); p++)
cout << p->coff << " " << p->power << endl;
system("pause"); //等待输入
return 0;
}