数据结构
数据结构
ygtrece_13
这个作者很懒,什么都没留下…
展开
-
数据结构——堆的实现
typedef int HDataType;typedef struct heap { HDataType* _data; int _size; int _capacity;}heap;void Swap(int* a, int* b){ int tmp = *a; *a = *b; *b = tmp;}void heapInit(heap* hp){ if (hp == NULL) return; hp->_data = NULL; hp->_size原创 2021-04-23 17:02:49 · 75 阅读 · 0 评论 -
数据结构——栈的实现
typedef int STDataType;typedef struct stack { STDataType* _data; int _size; int _capacity;}stack;void initstack(stack* st){ if (st == NULL) return; st->_data = NULL; st->_size = st->_capacity = 0;}void checkCapacity(stack* st){原创 2021-04-23 16:56:45 · 48 阅读 · 0 评论 -
数据结构——队列的实现
#include<stdio.h>#include<stdlib.h>typedef int QDataType;typedef struct QNode{ QDataType _data; struct QNode* next;}QNode;typedef struct Queue{ QNode* _head; QNode* _tail; int _size;}Queue;void initQueue(Queue* q){ if (q ==原创 2021-04-23 16:54:00 · 58 阅读 · 0 评论 -
数据结构——单链表增删查改的实现
#include<stdio.h>#include<stdlib.h>typedef int SLTDateType;typedef struct SListNode{ SLTDateType data; SListNode* next;}SListNode;// 动态申请一个节点SListNode* BuySListNode(SLTDateType x){ SListNode* node = (SListNode*)malloc(sizeof(SListN原创 2021-04-23 16:46:03 · 123 阅读 · 0 评论 -
数据结构——顺序表的实现
#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int SLDateType;typedef struct SeqList{ SLDateType* a; size_t size; size_t capacity;}SeqList;void SeqListInit(SeqList* ps){ assert(ps); ps->a = NULL; ps->c原创 2021-04-23 16:42:57 · 59 阅读 · 0 评论 -
数据结构——c排序实现
1.插入排序void InsertSort(int* a, int n){ int i = 0; for (i = 0; i < n - 1; i++) { int end = i; int key = a[end + 1]; while (end >= 0 && a[end] > key) { a[end + 1] = a[end]; end--; } a[end + 1] = key; }}2.希尔排序void Sh原创 2020-05-18 16:51:38 · 104 阅读 · 0 评论 -
数据结构——二叉树的实现
typedef char BTDataType;typedef struct BinaryTreeNode{ BTDataType _data; struct BinaryTreeNode* _left; struct BinaryTreeNode* _right;}BTNode;通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树BTNode* BinaryTree...原创 2020-04-28 16:06:51 · 156 阅读 · 0 评论 -
数据结构——括号匹配问题、队列实现栈、栈实现队列、循环队列的设计
括号匹配问题bool isValid(char * s) { static char map[][2] = { {'(',')'},{'[',']'},{'{','}' } }; Stack st; stackInit(&st, 10); while (*s) { int i = 0; int flag = 0; for (; i < 3; i++) {...原创 2020-04-13 16:34:02 · 104 阅读 · 0 评论 -
数据结构——带头双向循环链表增删查改的实现
typedef int LTDataType;typedef struct ListNode{ LTDataType _data; struct ListNode* _next; struct ListNode* _prev;}ListNode;// 创建返回链表的头结点.ListNode* ListCreate(){ ListNode* head = (ListNode*)...原创 2020-04-07 17:38:57 · 146 阅读 · 1 评论