题目:输入一个链表的头节点,从头到尾反过来打印出每个节点的值
Reverse()函数:输入头结点,可输出的确是从尾到头;即第一个输入的节点,最后一个输出;最后一个输入的结点,第一个输出;很典型的“后进先出“;用桟实现;
1、将结点放进桟中,当结点全遍历一遍时,链表已经反过来,
2、此时再从桟顶逐个输出结点的值
Reverse2()函数:递归本质就是桟结构;则用_Reverse2(_...
分类:
其他好文 时间:
2016-05-12 18:40:26
阅读次数:
128
一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),借助元素移位的方式,设计一个空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。
注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能用一个循环语句实现,...
分类:
编程语言 时间:
2016-05-12 17:33:06
阅读次数:
192
链表时一种常用的数据结构,是通过“链”来建立起数据元素之间的逻辑关系,这种用链接方式储存的线性表简称链表(Link List)。一,链表与顺序表的对比
在接触链表之前大家想必已经了解过了顺序表的储存结构方式,顺序表与链表的不同之处如下:
1.顺序表是物理位置上相邻来表示数据元素之间的逻辑关系;但链表不是,物理地址不相连,通过指针来链接。
2.顺序表储存密度高,且能够随机的存取数据(...
分类:
其他好文 时间:
2016-05-12 13:16:48
阅读次数:
247
从尾到头打印单链表voidFromTailToHeadPrint(SListNode*&head)
{
stack<SListNode*>s;
SListNode*cur=head;
while(cur)
{
s.push(cur);
cur=cur->_next;
}
while(!s.empty())
{
cout<<s.top()->_data<<"->";
s.pop();
}
cout<<""<<..
分类:
编程语言 时间:
2016-05-11 19:59:40
阅读次数:
361
简介 一种逻辑结构,相同数据类型的n个数据元素的有限序列,除第一个元素外,每个元素有且仅有一个直接前驱,除最后一个元素外,每个元素有且仅有一个直接后继。 线性表的特点: (1)元素个数有限 (2)逻辑上元素有先后次序 (3)数据类型相同 (4)仅讨论元素间的逻辑关系 注:线性表是逻辑结构,顺序表和链 ...
分类:
其他好文 时间:
2016-05-11 09:29:18
阅读次数:
155
//基于顺序表实现的简易通讯录-----1
#define_CRT_SECURE_NO_WARNINGS1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedefstructstu//定义一个学生信息的结构体类型
{
charname[20];
charsex[6];
intage;
chartele[20];
charaddress[..
分类:
其他好文 时间:
2016-05-09 14:26:59
阅读次数:
257
//约瑟夫环问题
PSListNodeJosephCircle(PSListNodepHead,intM);
//单链表逆置:两种方法都实现:一、三个指针二、尾插发
voidReverseList(PSListNode*pHead);
//单链表排序:冒泡(优化版本)
voidSortList(PSListNodepHead);
//查找链表的倒数第K个结点
PSListNodeFindLastK..
分类:
其他好文 时间:
2016-05-08 01:18:06
阅读次数:
179
线性结构 1.数据元素之间满足唯一的线性关系。 2.每个数据元素(除第一个和最后一个外)只有一个直接前趋和一个直接后继。 线性表 (顺序表,链表,栈,队列) 1.最简单和最常用的一种数据结构 2.由n个数据元素(结点)组成的有限序列 顺序表 1.线性表的数据元素按逻辑次序依次存入一组地址真实的存储单 ...
分类:
其他好文 时间:
2016-05-07 16:36:46
阅读次数:
156
本文主要实现了比较经典的冒泡排序算法(对已经有序或者基本有序的顺序表复杂度大大降低),和二分法查找,各位看官看代码吧//冒泡排序算法及二分法查找
#include "stdio.h"
typedef struct {
int key;
}SSTable_Elem_Type;
typedef struct {
SSTable_Elem_Type*elem;
int length...
分类:
编程语言 时间:
2016-05-07 09:42:37
阅读次数:
315
线性表存储 1.利用数组顺序存储 需要两个,一个是他存放的是什么,还有一个是指向最后一位的指针。 顺序表有动态分配和静态分配 静态分配: #define MaxSize 50 typedef struct { ElemType data[MaxSize]; int length; } 动态分配: # ...
分类:
其他好文 时间:
2016-05-03 23:28:20
阅读次数:
138