这个题的意思是将一个链表,按照每两个节点逆序。我想了一下,主要是对链表的操作以及对指针的交换,掌握了方法以后确实不是很难,但是需要注意的是不要将指针给弄错了,否则容易导致链表信息丢失。
我的方法中使用到了四个主要指针,我画了个图来解释它们:
这四个指针的作用通过上图,大家应该能够理解了,因为我们需要做的事有三件:
(1)交换中间部分 (通过prev和cur)
(2)连接...
分类:
其他好文 时间:
2016-04-26 21:18:46
阅读次数:
99
对于单链表,由于每个结点只存储了向后的指针。到了尾标志就停止了向后链的操作,这样,当中某一结点就无法找到它的前驱结点了。
对于单链表的操作大家可以看我的这篇博客http://blog.csdn.net/zxnsirius/article/details/51183055我们将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成了一个环,这种头尾相接的单链表称为单循环链表,简称循环链表...
分类:
编程语言 时间:
2016-04-19 19:41:59
阅读次数:
257
单链表是学习不可缺少的一个重要模块,在面试中也会出很多的单链表变种问题,今天就把他们汇总宋总结一下
首先来是实现一个简单的单链表:(在这里,一些简单的实现单链表的操作函数就不备注了)typedefintDataType;//typedef了一个类型,以后如果想要改变单链表节点内储存数据..
分类:
编程语言 时间:
2016-04-14 12:26:46
阅读次数:
284
#include<stdio.h>#include<stdlib.h>#defineOK1#defineERROP-1#defineOVERFLOW0typedefintElemType;typedefstructNode{/*声明一个结点的结构体*/ structNode*next; ElemTypedata; intlength;}Lnode,*Linklist;/***************************函数声明*************..
分类:
其他好文 时间:
2016-03-26 08:10:30
阅读次数:
126
ListNode.h
#include<malloc.h>
#include<assert.h>
typedefintDataType;
typedefstructListNode
{
structListNode*_next;
DataType_data;
}ListNode;
ListNode*BuyNode(DataTypex)//创建一个结点
{
ListNode*tmp=(ListNode*)malloc(sizeof(ListNode));
tmp->..
分类:
其他好文 时间:
2016-03-21 02:00:47
阅读次数:
251
/*用结构体实现链表的创建、遍历、结点插入、结点删除 */ /*本题中链表结点的输入必须是升序(可以相邻的相同),删除的时候也是把与要删除同数据的多个相同的结点都删除掉*/ #include <iostream> using namespace std; struct node //结点结构 { i
分类:
其他好文 时间:
2016-03-03 17:33:55
阅读次数:
166
#pragmaonce
#include<stdio.h>
#include<string.h>
#include<assert.h>
#include<stdlib.h>
typedefintDataType;
//定义一个结构体类型
typedefstructLinkNode
{
DataTypedata;//定义节点的数据
structLinkNode*next;//保存下一个类型节点的地址
}..
分类:
其他好文 时间:
2016-01-21 15:56:21
阅读次数:
113
单链表功能设计1从首元结点开始输出数据域即p->data直到p->next=NULL。typedefstructNode定义一个链式存储的单链表Node*为结构体指针类型例如对于单链表Lp=L—〉next通过p->data访问该元素的数据值。2creatlist(linklist*H)从空表开始每次读入数据生成新结点将读入的..
分类:
其他好文 时间:
2016-01-18 20:55:23
阅读次数:
360
数据结构:typedefintDataType;
typedefstructNode
{
DataTypedata;
structNode*next;
}Node,*LinkList;1、从尾到头打印单链表voidTailToFrontPrint(LinkListhead)
/*从尾到头打印单链表*/
{
if(head!=NULL)
{
TailToFrontPrint(head->next);
printf("%d",head->..
分类:
其他好文 时间:
2016-01-03 17:40:50
阅读次数:
154
/*本次操作是对带头节点单链表的操作 包括删除 插入 判空 建立包括删除插入函数 显示函数目的是为了对单链表做一个基本操作的总结----1*/#include#include#include#define OK 1#define ERROR -1#define OVERFLOW -2#define ...
分类:
其他好文 时间:
2015-12-02 17:47:12
阅读次数:
178