题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。思路:假设有链表A->B->C->D->E->F->G。在反转链表过程中的某一阶段,其链表指针指向为:AF->G。也就是说在结点D之前的所有结点都已经反转,而结点D后面的结点E开始的所有结点都没有反转。这样D跟E之间存在了...
分类:
其他好文 时间:
2015-05-26 13:58:59
阅读次数:
94
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
二叉树结点的定义如下:
struct BinaryTreeNode{
int m_nValue;
BinaryTreeNode *m_pLeft;
BinaryTreeNode *m_pRight;
};解法如下:
//返回双向链表的头结点
BinaryTreeNo...
分类:
其他好文 时间:
2015-05-26 00:22:39
阅读次数:
154
No.147 Insertion Sorted ListSort a linked list using insertion sort.单链表排序:使用插入排序时间复杂度是排序算法的O(n^2),空间复杂度是O(1)难度:无他,把思路理顺,注意细节,并测试一下;另外头结点的巧妙应用,int最小表示方...
分类:
其他好文 时间:
2015-05-25 22:13:42
阅读次数:
119
题目:输入一个单向链表,输出该链表中倒数第k个结点。最后一个结点为倒数第一个结点。思路:1.首先遍历链表的长度获得链表的length,则它的倒数第k个结点就是正数length-k+1个结点,但这需要遍历链表两次2.使用两个指针可以实现遍历一次,first指针指向头结点,second指针指向first...
分类:
其他好文 时间:
2015-05-25 16:32:02
阅读次数:
99
No.206 Reverse Linked ListReverse a singly linked list.单链表带头结点【leetcode判错】: 1 #include "stdafx.h" 2 3 struct ListNode 4 { 5 int val; 6 ListNo...
分类:
其他好文 时间:
2015-05-25 16:29:37
阅读次数:
174
【题目】输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树,假设输入的前序遍历和中序遍历的结果中都不含有重复的数字,例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},重建二叉树并输出头结点。【分析】对根节点和左子树右子树分别分析【根节点】前序遍历结果和中序遍历结果可以唯一确定一棵二叉树,前序遍历的过程就是从根结点开始,先访问根结点,再遍历左...
分类:
其他好文 时间:
2015-05-22 11:32:48
阅读次数:
144
链表的重点概念:
数据域和指针域
头指针和头结点
下面是单链表的实现源码:
//
// main.c
// DataStructure
//
// Created by SuooL on 15/5/22.
// Copyright (c) 2015年 SuooL. All rights reserved.
//
#include "stdio.h"
#include "strin...
分类:
其他好文 时间:
2015-05-22 09:40:24
阅读次数:
212
SKB结构定义 /usr/src/linux/include/linux/skbuff.hsk_buff_head:1 struct sk_buff_head { //SKB的头结点2 /* These two members must be first. */3 ...
分类:
系统相关 时间:
2015-05-20 22:08:47
阅读次数:
359
单链表的实现思想和双指针的应用方法在前面博客中都已阐述,在本文将实现双指针实现单链表的初始化,插入,删除,打印。
【测试代码1】#include
#includetypedef struct Node{
int data;
struct Node *next;
}node_t;//创建头结点
node_t * create()
{
n...
分类:
其他好文 时间:
2015-05-20 20:40:38
阅读次数:
116
【基本概念】单链表即单向链表,数据结构为一个接一个的结点组成,每个结点有两个成员,一个数据域一个指向下一个结点的指针,如下:struct Node
{
int data;
struct Node *next;
};单链表基本操作包括链表初始化、插入、删除,其中初始化操作是指让单链表存在一个头结点,其数据域随机,头结点指向下一个结点,每次访问都要从头结点开始访问,插入结点方式有两种,尾...
分类:
其他好文 时间:
2015-05-19 19:09:05
阅读次数:
194