#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
typedefintDataType;
typedefstructSListNode
{
DataTypedata;
structSListNode*next;
}SListNode;
SListNode*BuyNode(DataTypex)
{
SListNode*next=(SListNode*)malloc(sizeof(SListNode));
ne..
分类:
编程语言 时间:
2016-01-13 00:48:38
阅读次数:
168
#includeusing namespace std;const int N=6;typedef int DataType;//类型定义typedef struct node{ //单链表 DataType data; struct node* next;}LinkedNode,*LinkList...
分类:
其他好文 时间:
2016-01-11 10:26:39
阅读次数:
230
本题与之前单链表逆置不同的是,加入了范围判断。依然沿用之前单链表逆置的方法,只需要再做好起始节点和末尾节点的判断说起来容易,做起来复杂,特别是单链表,很容易把人搞晕,所以,在编程之前最后画图理清思路。这次在头结点的处理上,不同于以往设置临时头结点的方法,使用了二级指针,这种方法写出来的代码可能比较少...
分类:
其他好文 时间:
2015-12-24 19:16:26
阅读次数:
124
一个循环实现单链表逆置node*reverse(node*head){node*th=NULL,*P=NULL;while(head){p=head;head=head->neaxt;p->head=th;th=p;}returnth;}如图实现一个简单例子单链表012转变到210;逻辑图如上而实际机器内部逐步遍历如下图:每次循环4步(变动处由蓝色标注,h代表hea..
分类:
其他好文 时间:
2015-12-14 19:13:13
阅读次数:
146
所实现的单链表的结构如下图所示:
循环单链表的实现,和上一篇文章单链表的实现大致相同点击打开链接,略有区别:
1:循环判断的条件不再是s == NULL或者s->next == NULL,而是他们是否等于头指针。2: 断开链表时的处理,尾节点的next不是NULL,而是指向头结点
具体细节参考上一篇文章
头文件:SCList.h
#ifndef SCLIST_H
#define...
分类:
编程语言 时间:
2015-08-21 21:34:32
阅读次数:
312
所实现的单链表的结构如下图所示:
头文件:SList.h
#include
#include
using namespace std;
typedef enum{FALSE,TRUE}Status;
template
class List;
template
class ListNode
{
friend class List; //友元类可以访问该类的成员
private...
分类:
编程语言 时间:
2015-08-21 11:21:47
阅读次数:
245
leetcode - Reverse Linked List单链表逆置。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(i...
分类:
其他好文 时间:
2015-05-08 19:50:44
阅读次数:
250
package com.kpp;/** * 单链表逆置 * 将单链表从第一个结点和第二个节点之间断开,然后将第2,3。。。个结点依次插入第一个结点之前 * @author kpp * */class LNode{ private String data; private LNode next;}pu...
分类:
编程语言 时间:
2015-04-27 21:41:40
阅读次数:
270
通过定义一个C++类封装单链表这种数据结构,
封装的方法有:
1.通过输入创建单链表;
2.获取单链表的数据元素个数;
3.打印输出单链表中各个元素;
4.搜索某个元素在单链表中的位置;
5.在某个位置之后插入一个结点;
6.在某个位置删除一个节点;
7.单链表逆置;
8.单链表是否存在回环的判定;
9.单链表的升序排序;
10.两个单链表的升序合并;
11.两个单链表的降...
分类:
编程语言 时间:
2015-03-27 22:16:02
阅读次数:
212
题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1)。所谓“就地”指辅助存储空间为O(1)。
解题思路:
如果是顺序存储的话,我们很容易想到解题思路,利用1个辅助变量让第1个元素与第n个元素交换,然后再利用这个辅助变量让第2个元素与第n-1个元素交换,...最后利用这个辅助变量让第...
分类:
编程语言 时间:
2015-01-16 16:48:44
阅读次数:
260