- 博客(7)
- 资源 (6)
- 收藏
- 关注
原创 单链表及其基本操作
单链表的基本操作数据结构在代码优化以及设计过程的地位不可忽视,数据结构里包含很多内容,后续会一 一附上。此骗博客主要谈单链表,主要从其定义及创建,再完成一个简单的归并练习进行描述:单链表的定义 在链表存储中,每个节点不仅包含所存元素的信息,还包含元素之间逻辑关系的信息。这么说有点抽象,我们可以这么理解:单链表中前驱结点包含后继结点的地址信息,这样就可以通过前驱结点中的地址信息来寻找后继结点的位置
2017-07-20 11:34:53
403
原创 查找-牛刀小试
查找的基本概念给定一个值k,在含有n个记录的表中找出关键字等于k的记录。若找到则返回该记录的的位置或信息,否则查找失败,返回相关的指示信息。(一)顺序查找思路: 元素没有顺序,因此要扫描整个数组中的所有元素,逐个与k比较 相等则查找成功,返回该元素位置 如果扫描结束没有发现和k相等的元素,返回0 int Search(int a[],int n,int k){ int i;
2016-11-09 09:45:32
318
原创 栈的基本操作(一)
1.栈的基本概念栈是一种只能在一端进行插入或删除操作的线性表。其中允许进行插入或删除操作的一端称为(Top),栈顶由一个称为栈顶指针的位置指示器(其实就是一个变量,对于顺序栈,就是记录栈顶元素在数组位置标号的一个整型变量;对于链式栈,就是记录栈顶元素所在结点地址的指针)来指示,它是动态变化的。表的另一端称为栈底,栈底是固定不变的。栈的插入和操作一般称为入栈和出栈。本篇文章以顺序栈为主。栈的特点先进先
2016-10-15 15:56:04
6657
3
原创 线性表的基本操作(一)
线性表的基本操作线性表的定义 线性表是具有相同特性数据元素的一个有限序列。该序列中所含元素的个数叫做线性表的长度(n)。注意:n可以等于0,表示线性表是一个空表。空表也可以作为线性表。线性表可分为顺序表和链表,本篇文章中以顺序表为主。 1.顺序表的结构定义#define maxSize 100 typedef struct{ int data[maxSize];//存放顺序表元素的数组
2016-10-15 14:45:27
672
原创 快速排序
快速排序(quickSort)是对冒泡排序的一种改进。其基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 图解 2.简单定义 #include<stdio.h> #include<stdlib.h>快速排序void quickSor
2016-01-09 20:51:09
335
原创 二叉树的非递归遍历
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序遍历、中序遍历以及后序遍历三种遍历方法。对于树的遍历若采用非递归的方法,就要采用栈和队列加以实现。简单定义#include<stdio.h> #include<malloc.h> #define MAX_STRING_SIZE 10240 typedef struct BTNode{ char
2016-01-09 20:12:43
331
原创 树及二叉树
树的要点总结(部分):(1) 树的双亲表示简介:用一组连续的空间来存储树中的结点,在保存每个结点的同时附设一个指示器来指示其双亲结点在表中的位置。(2)树的孩子表示简介:把每个结点的孩子结点排列起来,构成一个单链表,称为孩子链表。(3)树的孩子兄弟表示(二叉链表表示) 简介:链表中每个结点设有两个链域,分别指向该节点的第一个孩子结点和下一个兄弟(右兄弟)结点。
2015-12-26 21:36:15
274
exe4j_windows_5_0_1
2015-12-06
Java万年历
2016-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅