| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 275 人关注过本帖
标题:单链表就地逆置
只看楼主 加入收藏
qianglei6077
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
单链表就地逆置
谁帮我写个简单的单链表就地逆置的代码啊。求求求求!!!!急用啊!!感激不尽啊1
2012-03-08 17:35
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
其实只要把元素再从新插入一边就行了 头插法

比如原来是      1 2 3 4 ... n

第1个元素头插   1 2 3 4 ... n

第2个元素头插   2 1 3 4 ... n

...

第n个元素头插   n n-1   ... 1

                                         
===========深入<----------------->浅出============
2012-03-08 19:08
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 

重剑无锋,大巧不工
2012-03-08 19:49
马甲1号
Rank: 5Rank: 5
等 级:职业侠客
帖 子:68
专家分:312
注 册:2011-4-4
收藏
得分:5 
stl
程序代码:
#include <string>
#include <iostream>
#include <list>
using namespace std;

template<typename T>
void display(const list<T>& _list)
{
    list<T>::const_iterator iter = _list.begin();
    while(iter != _list.end())
    {
        cout << *iter << " ";
        ++iter;
    }
    cout << endl;
}

int main(int argc, char *argv[])
{

    list<string> strList;

    string strInput;
    while(cin >> strInput)
    {
        strList.push_back(strInput);
        strInput.clear();
    }

    display(strList);
    strList.reverse();
    display(strList);
    return 0;
}

???????
2012-03-08 20:32
卡卡罗特wang
Rank: 2
来 自:湖北武汉
等 级:论坛游民
帖 子:63
专家分:42
注 册:2012-2-17
收藏
得分:5 
回复 楼主 qianglei6077
void fun(头指针h)
{
定义3个结构体指针   *p,*q,*r;
p=h->next;
q=p->next;
p->next=NULL;
while(q)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
h->next=p;
}
不懂的话,就画个图看看

[ 本帖最后由 卡卡罗特wang 于 2012-3-8 21:09 编辑 ]
2012-03-08 21:08
快速回复:单链表就地逆置
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012221 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved