Chapter 2 | Linked Lists

1.链表去重

我写了list和deque两种,都可以unique函数来简化。

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <list>
#include <deque>
using namespace std;
deque <int> l;
list<int> s;
void _deuqe(){
    for(int i = 1; i <= 10 ; i++)
        l.push_back(i);
    for(int i = 2; i <= 10 ; i+= 2)
        l.push_front(i);
    sort(l.begin(),l.end());
    for(auto i = l.begin()+1;i != l.end(); ){
        int k = (*i);
        int b = (*(i-1));
        //cout <<k <<"  "<<b<<endl;
         if(k == b)  i = l.erase(i);//通过erase方法的返回值来获取下一个元素的位置
        else i++;
    }
    for(auto i = l.rbegin()+1;i != l.rend(); i++)
        cout << (*i) <<endl;
        /*   unique:
    int k = unique(l.begin(),l.end())-l.begin();
    cout <<k<<endl;
    for(auto i = l.begin();i != l.begin()+k ; i++)
        cout <<(*i) <<"   ";
        */
}
void _list(){
    for(int i = 1; i <= 10 ; i++)
        s.push_back(i);
    for(int i = 2; i <= 10 ; i+= 2)
        s.push_front(i);
    s.sort();
    for(auto i:s)
        cout<<i<<"  ";
    for(auto i= s.begin()++;i != s.end(); ){
        int k = (*(--i));
        i++;
        if((*i)==k)  {
            i = s.erase(i);
        }
        else i++;
    }
    for(auto i:s)
        cout<<i<<"  ";
}
int main(){
//    string a;
//    cin >> a;
//    cout <<a.length();
    _deuqe();
    _list();
}

2.实现一个算法从一个单链表中返回倒数第n个元素。

两个指针,相差n,一个到end时另一个指的就是。

3实现一个算法来删除单链表中间的一个结点,只给出指向那个结点的指针。

三种情况:1.头结点;2.中间结点。 3.尾结点。4.为空。情况1,2直接将d的数据给c,c的next指针指向d 的next指向所指结点,删除d就OK。情况3:直接删除,情况4为空,直接返回。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文内容取自于小甲鱼的数据结构与算法。http://www.jianshu.com/p/230e6fde9c75 ...
    阿阿阿阿毛阅读 3,097评论 0 7
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 6,609评论 0 13
  • 目录 1、属性 2、链表和数组的区别 2.1、数组概述 2.2、数组和链表优缺点 2.3、链表和数组的比较 3、单...
    我哈啊哈啊哈阅读 2,944评论 1 41
  • 转自:http://blog.csdn.net/oreo_go/article/details/52116214 ...
    YYT1992阅读 1,280评论 0 4
  • 骤雨的洒脱, 汇集成河流, 我愉悦,欢跳, 奔下命运的山脊。 奔流,奔流, 吞噬黄土的隐忍, 从不循规蹈矩, 我漫...
    干煸马鲛鱼阅读 281评论 0 6

友情链接更多精彩内容