关于c++ list容器的操作摸索

#include<iostream>
#include<algorithm>
#include<list>
#include<iterator>
#include<cstdlib>
using namespace std;
struct n1
{
	string name;
	long long num;
};
list<n1>l;
void charu()
{
	n1 tmp;
	cin>>tmp.name>>tmp.num;
	if(tmp.num<l.front().num)
		l.push_front(tmp);
	else
		l.push_back(tmp);
}
void quanshan()
{
	l.clear();
}
string xs;
long long xi;
bool way(const n1 & a)
{
	if(xi==-1)
		return a.name==xs;
	else
		return a.num==xi;
}
void shanmingzi()
{
	xi=-1;
	cin>>xs;
	l.remove_if(way);
}
void shanxuehao()
{
	cin>>xi;
	l.remove_if(way);
}
void xianshi()
{
	list<n1>::iterator i;
	for(i=l.begin();i!=l.end();i++)
		cout<<i->name<<","<<i->num<<endl;
}
bool cmp(n1 a,n1 b)
{
	return a.num<b.num;
}
void shunxu()
{
	l.sort(cmp);
}
void daoxu()
{
	l.reverse();
}

bool same_integral_part (n1 a,n1 b)
{
	 return (a.name==b.name)&&(a.num==b.num);
}

void xuanze()
{
	int j;
	cout<<"1.插入 2.删除 3.查看 4.排序"<<endl;
	cin>>j;
	if(j==1)
	{
		cout<<"输入名字,学号(例如,杜甫 123):"<<endl;
		charu();
	}
	else if(j==2)
	{
		cout<<"1.按名字删 2.按学号删 3.全删"<<endl;
		cin>>j;
		if(j==1)
			shanmingzi();
		else if(j==2)
			shanxuehao();
		else if(j==3)
			quanshan();
	}
	else if(j==3)
	{
		xianshi();
	}
	else if(j==4)
	{
		cout<<"1.顺序 2.倒序"<<endl;
		cin>>j;
		if(j==1)
			shunxu();
		else if(j==2)
			daoxu();
		cout<<"1.去重"<<endl;
		cin>>j;
		if(j==1)
			l.unique(same_integral_part);
	}
}
int main()
{
	int j;
	while(1)
	{
		xuanze();
		cout<<"0.退出 1.返回选择界面"<<endl;
		cin>>j;
		if(j==0)
			return 0;
		system("cls");
	}
}

关于c++ list容器的操作摸索

时间: 2024-10-12 07:30:56

关于c++ list容器的操作摸索的相关文章

c#文件之读操作摸索学习

主要知识点: 一. FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//只读权限打开1.txt文件 参数1: "1.txt":文件路径,通常用字符串变量或者字符串常量表示,如:"d:\\1.txt"; 参数2: FileMode.Open:打开模式,此种方式如果存在则打开,否则抛出异常. FileMode.Append:追加模式,打开文件

通过ssh方式登陆Docker容器的操作记录

前面几篇已经介绍了Docker基础环境的部署,下面介绍下通过ssh方式登陆Docker容器的操作记录 [[email protected] ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos7 7.3.1611 d5ebea14da54 2 weeks ago 311 MB <none> <none> d5c154b612c8 2 weeks ago 311 MB test latest ecefde07358

docker实战之centos6.5上安装、镜像、容器相关操作

学习docker前,理解以下几个概念有助于更好的使用docker.镜像,容器,仓库.镜像,就是一个操作系统环境,里面只有你需要的几个应用程序,如apache,mysql,php之类,只读模板.容器,从镜像创建的运行实例.可视为一个简易环境中和其中运行的应用.仓库,存放镜像的地方.学过git的同学可能更容易理解. 一.安装docker时,增加第三方源epel如果是centos7,下载并安装这个软件包#wget http://mirror.hust.edu.cn/epel/beta/7/x86_64

Docker之容器常见操作

一.启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped ) 的容器重新启动.因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器. 新建并启动 例如,下面的命令输出一个 "Hello World",之后终止容器. $ docker run ubuntu:14.04 /bin/echo 'Hello world' Hello world 这跟在本地直接执行 /bin/echo 'hello world' 几乎感

第 4 章 容器 - 025 - 容器常用操作

容器常用操作 stop/start/restart 容器 通过 docker stop 可以停止运行的容器. 1 [email protected]:~# docker ps 2 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3 8b62217b8d1d httpd "httpd-foreground" 3 days ago Up 3 days 80/tcp myhttp 4 fa7407d1b483 ubuntu &quo

顺序容器(操作)--C++复习(10)

一.操作 添加删除元素.设置容器大小以及获取容器元素. 二.容器类型别名(常用) size_type:无符号整型,容器长度 iterator:迭代器:const_iterator:只读容器迭代器 value_type:元素类型 reference:元素引用 其他如逆序.迭代器差值等等. 示例: 1 void test() 2 { 3 int i; 4 vector<int>::size_type t; 5 vector<int>::iterator i; 6 .... 7 } 三.

03 : docker - 容器常见操作

docker 容器常见操作 1: docker的容器管理命令详解: docker run -d -p 80:80 nginx:latestrun(创建并运行一个容器)-d 放在后台-p 端口映射-v 源地址(宿主机):目标地址(容器)nginx:latest docker镜像的名字,最后一个版本 运行一个centos,并进入容器终端: docker search centos 找到官方的centos镜像docker pull centosdocker run -it --name centos

Python语言基础与应用 (P23)上机练习:容器类型操作(未完待续)

上机练习:容器类型操作〉 列表.元组基本操作+, *, len(), [], in 1 Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32 2 Type "help", "copyright", "credits" or "license" for more informatio

容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)

前面讨论了如何运行容器,本节学习容器的其他常用操作. stop/start/restart 容器 通过 docker stop 可以停止运行的容器. 容器在 docker host 中实际上是一个进程,docker stop 命令本质上是向该进程发送一个 SIGTERM 信号.如果想快速停止容器,可使用 docker kill 命令,其作用是向容器进程发送 SIGKILL 信号. 对于处于停止状态的容器,可以通过 docker start 重新启动. docker start 会保留容器的第一次