数据结构
aminxiaopengyou
猪猪
展开
-
链表,顺序表的一些基本函数的实现
最近在学习数据 结构的顺序表,和链表,完成了它们的接口函数,想来想去,觉得它们就是在栈中开辟的一些临时的存储空间,然后我们编写程序,对它们进行操作,来完成我们想要的输出。一 下面是单链表的一些基本接口的操作函数#include"SList.h"typedef int DataType;typedef struct ListNode{ struct SListNode* _next; Dat...原创 2018-05-11 18:35:28 · 217 阅读 · 0 评论 -
顺序表
#pragma once#define MAX_SIZE 10000typedef unsigned int size_t;typedef int DataType;typedef int DataType;typedef struct SeqList{ DataType _array[MAX_SIZE]; int _size;//顺序表中有效元素的个数}SeqLis...原创 2018-08-30 17:07:32 · 124 阅读 · 0 评论 -
数据结构——队列
pragma onceextern struct BTNode; typedef struct BTNode* QDataType; typedef struct Node { QDataType _data; struct Node* _pNext; }Node,*PNode; typedef struct Queue { PNode _PHead;...原创 2018-08-30 22:54:40 · 160 阅读 · 0 评论 -
数据结构——链表基础
#pragma oncetypedef int DataType;#include<stdio.h>typedef struct Node//不带头结点的单链表{ struct Node* _pNext; DataType _data;}Node,*PNode;#include<stdio.h>#include<assert.h>...原创 2018-08-30 19:56:51 · 149 阅读 · 0 评论 -
数据结构——带头结点的单链表
pragma onceincludeincludeinclude原创 2018-08-30 17:27:58 · 1973 阅读 · 0 评论 -
数据结构——带头结点的双向链表
#pragma once#include<assert.h>#include<malloc.h>typedef int DataType;typedef struct DListNode{ struct DListNode* _pNext; struct DListNode* _pPre; DataType _data;}DLNode,*...原创 2018-08-30 17:05:58 · 416 阅读 · 0 评论 -
队列
1.在队列中,用front来标记队首元素,用rear来标记队尾元素的后一个空间。 rear=(rear+1)%QueueSize;2.队列的应用 如何将中缀表达式转换为后缀表达式 中缀表达式:3+4*2-3*7, (3*2+4)*4 后缀表达式:342*+37*-,32*4+4* 算法:遇数字就输出,遇运算符就将栈中高于该运算符的符号输出,然后将该运算...原创 2018-08-07 23:09:30 · 92 阅读 · 0 评论 -
队列的基本操作
typedef int DataType; typedef struct BTNode* QDataType; typedef struct Node { QDataType _data; struct Node* _pNext; }Node,*PNode; typedef struct Queue { PNode _PHead; PNode _...原创 2018-08-03 11:28:11 · 222 阅读 · 0 评论 -
栈的基本用法
include原创 2018-08-03 11:25:10 · 1100 阅读 · 3 评论 -
栈的应用算法
用栈来判断一串字符串是否匹配在了解了栈的基本操作之后,要掌握栈的应用算法,栈应用其实就是解决对称问题的,因为它先进后出的特点,所以比如我们要判断字符串是否对称,我们可以把字符串的前一半依次入栈,然后在依次遍历字符串的后一半,每一次判断该字符和栈顶字符是否相等,若相等,则让栈顶元素出栈,若不相等,则结束,说明该字符串不对称。 最后,若栈为空,则说明该字符串是对称的,其实说实话,最后根本用不着...原创 2018-08-07 18:25:00 · 999 阅读 · 0 评论 -
数据结构之排序(未完,待续)
includeincludeincludeincludepragma warning(disable:4996)冒泡排序,稳定的排序 void bubblesort(int* arr, int len)//稳定的排序算法{ assert(arr&amp;&amp;len &gt; 0); int i = 0; int j = 0; ...原创 2018-08-06 16:58:16 · 101 阅读 · 0 评论 -
二叉树的基本操作及面试题
typedef int DataType; typedef struct BinaryTreeNode { struct BinaryTreeNode* _left; struct BinaryTreeNode* _right; BTDataType _data; }BTNode; BTNode* BuyBTNode(BTDataType x)//创建新结点 ...原创 2018-08-03 16:59:15 · 250 阅读 · 0 评论 -
栈的应用之括号匹配问题
给一个字符串,那这个程序是可以检测你的字符串中所含的括号是否匹配。原理是:我们从左向右遍历字符串,如果我们遇到左括号如‘(’,我们就将这个左括号进栈,如遇到右括号‘(’,我们就将栈顶元素与该右括号比较,看他们是否匹配,若匹配,则让栈顶元素出栈,若不匹配,则就输出相应的提示信息void IsMatch(char* str)//判断括号是否匹配,其实没必要用老师的测试。当然苦括号有大括号,...原创 2018-05-29 00:48:53 · 3100 阅读 · 0 评论 -
数据结构之动态顺序表
#pragma oncetypedef int DataType;typedef unsigned int size_t;//原来如此呀,感谢当初那么认真的自己。typedef struct SeqListD{ DataType* _array; size_t _capacity;//底层空间的大小 size_t _size;//有效元素的个数}SeqListD,...原创 2018-08-30 04:26:27 · 217 阅读 · 0 评论