// ListReverse.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <malloc.h>
#include <iostream>
using namespace std;

typedef struct List
{
    struct List *next;
    int data;    
}*ListPtr;

void PrintList(ListPtr list)
{
    while(list!=NULL)
    {
        cout<<list->data<<"->";
        list = list->next;
    }
    cout<<endl;
}

ListPtr ReverseList(ListPtr list)
{
    if((list == NULL) || (list->next ==NULL))
    {
        return list;
    }

ListPtr head = list;
    ListPtr headnext = head->next;
    ListPtr headnextnext = headnext->next;
    head->next = NULL;
    
    while(headnextnext != NULL)
    {
        headnext->next = head;
        head = headnext;
        headnext = headnextnext;
        headnextnext = headnextnext->next;    
    }
    headnext->next = head;
    return headnext;

}

int _tmain(int argc, _TCHAR* argv[])
{
    ListPtr head = (ListPtr)malloc(sizeof(List));
    ListPtr headtemp = head;
    int i=10;
    while(i--)
    {
        headtemp->data = i;
        headtemp = headtemp->next  =  (ListPtr)malloc(sizeof(List));

}
    headtemp->data = i;
    headtemp->next = NULL;

PrintList(head);    
    PrintList(ReverseList(head));

return 0;
}

面试题-链表反转c实现的更多相关文章

  1. 【剑指offer】面试题 24. 反转链表

    面试题 24. 反转链表

  2. C++ 单向链表反转

    单向链表反转,一道常见的面试题,动手实现下. #include "stdafx.h" #include <stdlib.h> struct Node{ int data ...

  3. c# 有序链表合并 链表反转

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. java 单链表反转

    最近与人瞎聊,聊到各大厂的面试题,其中有一个就是用java实现单链表反转.闲来无事,决定就这个问题进行一番尝试. 1.准备链表 准备一个由DataNode组成的单向链表,DataNode如下: pub ...

  5. 链表反转leetcode206

    最近准备结束自己的科研生涯,准备要开始找工作了,准备在LEETCODE刷刷题...刷的前40题全部用python刷的,各种调包速度奇快,后被师哥告知这样没意义,于是准备开始回归C++,Python用的 ...

  6. 链表反转 (Multi-method)

    链表反转是链表相关问题最基础的知识,做完LeetCode中LinkedList后才会有这种体会,因为ACM算法中不会涉及这一部分.解决这一问题有多种方法,在面试中面试官通常也会要求写出多种.包括sta ...

  7. java实现单链表反转

    一.简介 经查阅,主要有两种方法实现链表反转,递归反转法和遍历反转法: 递归: 在反转当前结点之前先反转其后边的结点,即.从尾结点开始逆向反转各个节点的指针域指向: 遍历:从前往后反转各个结点的指针域 ...

  8. c语言:链表排序, 链表反转

    下面将实现链表排序的排序和遍历显示功能: 所定义的链表结构如下: head -> p1 -> p2 ->p3 ->....->pn; head的本身不作为数据节点,hea ...

  9. 【Java数据结构】Java数据结构之链表反转

    我们都知道用C可以很简单的实现单链表反转,今天来学习下,在Java中如何实现链表反转. 思路很简单,定义一个类,这个类分成2块,一块是表示自身的标志,另外一个存储指向下一个元素的引用.通过互换相邻两个 ...

随机推荐

  1. CAS单点登录系统整合——注册的问题

    最近一段时间在搞CAS单点登录系统,涉及到几个子系统的整合问题.对于注册,这里遇到了一个选择: 在子系统内完成注册,然后把信息同步到CAS系统: 在CAS系统中完成基本信息的注册,比如:用户名.邮箱. ...

  2. AlertDialog使用时遇到问题

    1.其内de子控件高宽度为0? AlertDialog.Builder builder = new AlertDialog.Builder(StoryActivity.this); View view ...

  3. Linux下配置Lamp

    linux下配置lamp步骤: 一.快速安装Apache+PHP5+MySql 先更新: # yum update 然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0. ...

  4. css形状大全

    转至:http://blog.sina.com.cn/s/blog_4abb9bba0101acsx.html

  5. app 尺寸

    web app 手机桌面logo尺寸大小(三种 ):114 72 57 

  6. SQL 参数化查询 应用于 Like

    在sql 进行参数化查询的时候,使用like 语句和参数的时候,错误的写法:  Participant like '%@Participant%' ,这样在数据库为解析为 '%'participant ...

  7. 火狐插件 Http请求利器 Httprequester

    搜索并且下载Httprequester

  8. linux重新设定分区大小

    一.目的 在使用CentOS6.3版本Linux系统的时候,发现根目录(/)的空间不是很充足,而其他目录空间有很大的空闲,所以本文主要是针对现在已有的空间进行调整.首先,先来查看一下系统的空间分配情况 ...

  9. 未能加载文件或程序集“Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=30a [问题点数:40分,结帖人u010259408]

    未能加载文件或程序集“Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=30a [问题点数:40分,结帖人u01025 ...

  10. 利用box-flex实现 dom元素位置页面底部

    问题: 总是有这样的需求,就是页面上某部分要位于页面的最底部,此“最底部”要求:(1)当页面上内容不足一屏的时候,在最底部显示(2)当页面上内容不止一屏的时候,也就是有垂直滚动条的时候,要在内容的最后 ...