面试题-链表反转c实现
// 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实现的更多相关文章
- 【剑指offer】面试题 24. 反转链表
		面试题 24. 反转链表 
- C++ 单向链表反转
		单向链表反转,一道常见的面试题,动手实现下. #include "stdafx.h" #include <stdlib.h> struct Node{ int data ... 
- c# 有序链表合并 链表反转
		using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ... 
- java 单链表反转
		最近与人瞎聊,聊到各大厂的面试题,其中有一个就是用java实现单链表反转.闲来无事,决定就这个问题进行一番尝试. 1.准备链表 准备一个由DataNode组成的单向链表,DataNode如下: pub ... 
- 链表反转leetcode206
		最近准备结束自己的科研生涯,准备要开始找工作了,准备在LEETCODE刷刷题...刷的前40题全部用python刷的,各种调包速度奇快,后被师哥告知这样没意义,于是准备开始回归C++,Python用的 ... 
- 链表反转 (Multi-method)
		链表反转是链表相关问题最基础的知识,做完LeetCode中LinkedList后才会有这种体会,因为ACM算法中不会涉及这一部分.解决这一问题有多种方法,在面试中面试官通常也会要求写出多种.包括sta ... 
- java实现单链表反转
		一.简介 经查阅,主要有两种方法实现链表反转,递归反转法和遍历反转法: 递归: 在反转当前结点之前先反转其后边的结点,即.从尾结点开始逆向反转各个节点的指针域指向: 遍历:从前往后反转各个结点的指针域 ... 
- c语言:链表排序, 链表反转
		下面将实现链表排序的排序和遍历显示功能: 所定义的链表结构如下: head -> p1 -> p2 ->p3 ->....->pn; head的本身不作为数据节点,hea ... 
- 【Java数据结构】Java数据结构之链表反转
		我们都知道用C可以很简单的实现单链表反转,今天来学习下,在Java中如何实现链表反转. 思路很简单,定义一个类,这个类分成2块,一块是表示自身的标志,另外一个存储指向下一个元素的引用.通过互换相邻两个 ... 
随机推荐
- Android事件处理
			含义:为用户动作提供响应就是事件处理. Android提供了强大的事件处理机制:基于监听的事件处理.基于回调的事件处理. 一.基于监听的事件处理 监听的处理模型主要涉及三类对象 >Event S ... 
- 高性能MySQL第1章知识点梳理
			1. MySQL的逻辑架构 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理.认证.安全管理等. 中间层是MySQL的核心,包括查询解析.分析.优化和缓存等.同时它还提 ... 
- SQL Server 数据库新建用户
			1.在[安全性]中的[登录名]右键创建登陆用户 2. 输入相关信息 3. 然后去相应的数据库下[安全性]中右键添加用户 4.选择刚刚创建的用户名 5. 选择[默认架构]为 owner 6. 对[拥有的 ... 
- Chrome浏览器插件推荐大全
			如何下载:http://www.cnplugins.com/devtool/ 提示:下载可能版本过旧,推荐搜索喜爱的插件之后前往官网或者github(编译的时候确保node和npm都是最新的版本).或 ... 
- Date类型-演示JS中的日期
			<script type="text/javascript"> /* *演示JS中的日期 */ var date = new Date(); document.writ ... 
- C#编程之委托与事件四(二)【转】
			C#编程之委托与事件(二) 我在上一篇文章(C#编程之委托与事件(一) )中通过示例结合的方法介绍了委托,在本文中,我同样以代码示例的方式来介绍C#里的事件机制. 二.事件 1.了解概 ... 
- Linux下暴力破解工具Hydra详解
			一.简介 Number one of the biggest security holes are passwords, as every password security study shows. ... 
- NPOI操作excel之读取excel数据
			NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 一.下载引用 去NPOI官网http://npoi.codeplex. ... 
- lodash的源码(1)
			数组篇 1.compact,就是将数组中的false值去掉 function compact(array) { var index = -1, length = array ? array.lengt ... 
- SEO之HTML优化:让你的网站HTML代码更符合SEO规范
			摘要HTML优化是网站内部优化的重点,可能对SEO新手来说,容易忽略.符合搜索引擎习惯的HTML代码是极利于SEO的,可以让你的网站获得更好的搜索引擎排名.如何制作一个标准的HTML网页,如何做HTM ... 
