![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构(C语言描述)
碰碰狗
计算机专业在读学生
展开
-
散列表—分离链接法
分离链接法原创 2022-03-17 10:52:48 · 1345 阅读 · 0 评论 -
单链表(single linked list)
/*单链表(single list)*/ #include<stdio.h> #include<stdlib.h> #include<stdbool.h> struct node /*结点结构的描述*/ { int val; struct node* next; }; struct node* first = NULL; /*first指针始终指向链表的第一个结点, 把first初始化为NULL表.原创 2022-01-10 10:38:38 · 573 阅读 · 0 评论 -
栈(stack)
链表实现原创 2021-10-26 21:36:05 · 119 阅读 · 0 评论 -
队列(queue)
#include<stdio.h> #include<stdlib.h> #include<stdbool.h> typedef int Item; struct node { Item date; struct node* next; }; struct queue_type { struct node* front; struct node* rear; }; typedef struct queue_type* Queue; s...原创 2021-10-26 22:37:58 · 174 阅读 · 0 评论 -
背包(bag)
/*背包(bag)*/ /*链表+栈实现*/ #include<stdio.h> #include<stdlib.h> #include<stdbool.h> typedef int Item; typedef struct bag_type* Bag; struct node /*背包元素*/ { Item val; struct node* next; }; struct bag_type /*背包.原创 2022-01-12 09:12:09 · 187 阅读 · 0 评论 -
二叉树的遍历
struct tree_node { int val; struct tree_node* left; struct tree_node* right; }; //前序遍历 void preorder(struct tree_node* root) { if (root!=NULL) { printf("%d", root->val); preorder(root->left); preorder(root->right); } } //中序遍历 void i.原创 2021-11-17 21:06:47 · 458 阅读 · 0 评论 -
二叉查找树(binary search tree)
//二叉查找树(binary search tree) #include<stdio.h> #include<stdlib.h> #include<stdbool.h> typedef int Item; typedef struct node* Tree; struct node /*树结点的定义*/ { Item val; struct node* left; struct node* right; }; //辅助函数:.原创 2022-01-20 20:37:02 · 716 阅读 · 0 评论 -
AVL树(balanced binary search tree)
#include<stdio.h> #include<stdlib.h> typedef int Item; typedef struct node* Tree; struct node /*AVL树结点定义*/ { Item val; int height; struct node* left; struct node* right; }; /*******************************************.原创 2022-01-26 19:19:27 · 663 阅读 · 0 评论 -
堆(heap)
以最大堆为例原创 2022-02-21 20:33:07 · 220 阅读 · 0 评论 -
散列表(hash table)
开放定址法(包含线性探测法,平方探测法,双散列法)原创 2022-03-08 21:25:14 · 749 阅读 · 0 评论 -
简单有向图的邻接矩阵
#include<stdio.h> #include<stdlib.h> #include<stdbool.h> typedef int Vertex; typedef struct edge_node* Edge; typedef struct graph_type* Graph; typedef int Item; struct edge_node { int v1, v2; }; struct graph_type { int V; int E; in.原创 2021-12-05 15:13:01 · 364 阅读 · 0 评论 -
队列——数组实现
#include<stdio.h> #include<stdlib.h> #include<stdbool.h> typedef int Item; struct queue_type { Item* contents; int front; int rear; int size; int counter; }; typedef struct queue_type* Queue; static void terminate(c...原创 2021-10-27 22:25:10 · 52 阅读 · 0 评论 -
堆栈——数组实现
#include<stdio.h> #include<stdlib.h> #include<stdbool.h> typedef int Item; struct stack_type { Item* contents; int top; int size; }; typedef struct stack_type* Stack; static void terminate(const char* message); Stack create...原创 2021-10-27 21:38:03 · 98 阅读 · 0 评论 -
线性表——链表
#include<stdio.h> #include<stdlib.h> #include<string.h> struct node { int number; struct node* next; }; struct node* first = NULL; struct node* add_to_list(struct node* list, int n); struct node* insert_nth(struct node* list, in...原创 2021-10-24 13:57:54 · 68 阅读 · 0 评论