数据结构学习之路一(list)

学习自//http://www.cnblogs.com/scandy-yuan/archive/2013/01/08/2851324.html

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<stack>
#include<queue>
#include<map>
#include<vector>
#include<list>
using namespace std;

int main()
{
int a1[5] = {1,2,3,4,5};
list<int> a(a1,a1+5),a2,a3;
a2 = a;//赋值运算符
list<int>::iterator it;
printf("链表a2的值全部输出:");
for(it = a2.begin ();it != a2.end ();it ++)
{
printf("%d ",*it);
}
puts("");
//元素拷贝
a3.assign (2,10);
for(it = a3.begin ();it != a3.end ();it ++)
{
printf("%d ",*it);
}
puts("");
//第一个,最后一个,总个数,最大的数
printf("%d %d %d %d",a.front(),a.back (),a.size (),a.max_size ());

a.insert(a.begin (),5); // 在a.begin()插入5
a.insert(a.begin (),2,5); // 在a.begin()插入2个5

printf("插入数值后链表a的值全部输出:");
for(it = a.begin ();it != a.end ();it ++)
{
printf("%d ",*it);
}
puts("");

a.erase(a.begin ());//删除在a.begin ()的元素

printf("删除在a.begin ()的元素链表a的值全部输出:");
for(it = a.begin ();it != a.end ();it ++)
{
printf("%d ",*it);
}
puts("");

a.unique(); //删除相邻的元素

printf("删除相邻的元素链表a的值全部输出:");
for(it = a.begin ();it != a.end ();it ++)
{
printf("%d ",*it);
}
puts("");
a.sort ();//默认升序 自定义:c.sort(comp)
printf("排序后链表a的值全部输出:");
for(it = a.begin ();it != a.end ();it ++)
{
printf("%d ",*it);
}
puts("");
a.clear();//清除
return 0;
}

时间: 2024-08-02 02:48:21

数据结构学习之路一(list)的相关文章

数据结构学习之路-第三章:顺序栈

[ 声明:版权所有,转载请标明出处,请勿用于商业用途.  联系信箱:[email protected]] 前言: 栈和队列是两种十分重要的数据结构,从数据结构的角度看,它们也同样是线性表,但是它们与一般的线性表又有区别,因为我们对于栈和队列的操作是受到限制的,由于栈和队列的重要性与特殊性,所以书中也特别用了一章的篇幅来介绍,那么接下来,就让我们先从最基本的顺序栈开始吧. 注: 本文仅代表博主本人的一些浅显的见解,欢迎大家评论学习,共同创造出一个良好的环境 对于一些问题,博主会尽量为大家解答,但是

数据结构与算法学习之路:背包问题的贪心算法和动态规划算法

一.背包问题描述: 有N种物品和一个重量为M的背包,第i种物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大. 二.解决方法: 1.贪心算法:贪心算法基于的思想是每一次选择都作当前最好的选择,这样最后的结果虽然不一定是最优解,但是也不会比最优解差很多. 举个例子说明可能好懂一些:一帮基友去聚餐,菜是一份一份上的,我每一次夹菜都只夹牛肉/海鲜吃,可能到最后我吃的牛肉/海鲜很多,但不一定代表我吃掉的东西的总价值最高,但是相对来说价值也很高

我的算法学习之路

关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口--况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程.然而这门课程并没有让我入门--当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾--反正最后考试划个重点也能过,于是这门整个计算机专业本

一个女大学生的代码学习之路(二)

首先说一下,写这种文章是由于我在四月四日晚上,在手动搭建自己的第一个ssh项目的时候,遇到了一个配置的问题,怎么解决也弄不好,当时是四号晚上九点,我看了一眼表,我就想两个小时之内,我要是能搞定就算行了,但是其实,我搞到三点才OK(凌晨),那时候已经是五号了,转天是一家子去扫墓的时候,结果我居然以这种一个理由没有去,理由是我太累了么?我只是就是搭了一个架子,就是由于我的包太混乱了,导致不兼容,所以tomcat总也不启动,你可能认为好笑,这么简单一个问题怎么就费这多多时间呢,但是作为一个刚接触三框架

Peng Gong:我的算法学习之路

原文出处: Lucida (@peng_gong) 关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口--况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程.然而这门课程并没有让我入门--当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾--

初次踏上GUI编程之路(有点意思,详细介绍了菜鸟的学习之路)

初次踏上GUI编程之路 —— 我的Qt学习方法及对Qt认识的不断转变 -> 开始接触GUI与开始接触Qt: 话说,我第一次看见“Qt”这一个名词,好像是在CSDN网站的主页上吧,因为CSDN好像在给Qt做宣传,在主页上占了一栏的广告,只是,这时,我还没怎么刻意去留意这个陌生的字眼.在我大二上学期中下期时,即大概是2011年的12月,由于自己刚刚完成了汇编语言的入门学习,正要制订下一个学习目标,所以,又开始找起了资料,同时,也再次开始为自己的就业问题担心,于是,开始搜集一些招聘单位的信息,这时候,

转----我的算法学习之路

我的算法学习之路 关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 原文链接:http://zh.lucida.me/blog/on-learning-algorithms/ 原文作者:Lucida 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程

python学习之路(四)

继续昨天的学习,学到了数组. 首先有两个数组,name1和name2.我们可以将两个数组合并 name1=[1,2,3,4] name2=[5,6,7,8] names=name1.extend(name2) print(names) 最后输出的是[1,2,3,4,5,6,7,8],这就是在name1后面接上name2 然后来到了一个小重点,copy(复制) 这里分为深copy和浅copy,我在学习之路(二)中说过一个复制的问题,就是在赋值的时候,值是存在内存里面的,而不是随着变量变化的,这里的

一位Google程序员的算法学习之路(转)

关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程.然而这门课程并没有让我入门——当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾——反正最后考试划个重点也能过,于是这门整个计算机专业本