
数据结构
数据结构
小柒七七七
这个作者很懒,什么都没留下…
展开
-
常见排序算法详解(上)
文章目录插入排序基本思想:直接插入排序的特性总结:代码:希尔排序基本思想:希尔排序特性总结:代码:选择排序基本思想:直接选择排序特性总结:代码:冒泡排序原理:特性总结:堆排简介:堆排特性总结:代码:插入排序基本思想:直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此原创 2021-03-29 18:01:00 · 223 阅读 · 1 评论 -
二叉树的基本操作
目录递归实现二叉树的前序、中序、后序遍历遍历法计算节点个数分治法计算节点数计算叶子节点数计算第K层的节点数(root为第一层)找到为x的节点typedef int BTDataType;typedef struct BinaryTreeNode{ BTDataType data; struct BinaryTreeNode* left; struct BinaryTreeNode* right;}BT;递归实现二叉树的前序、中序、后序遍历//前序遍历 void PrevO原创 2021-03-21 14:04:47 · 2243 阅读 · 5 评论 -
带头节点的双向循环链表
//DList.h#pragma once#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int LTdataType;typedef struct ListNode{ struct ListNode* prev; struct ListNode* next; LTdataType data;}ListNode;ListNode* Init();void Disto原创 2021-02-23 15:57:13 · 144 阅读 · 0 评论 -
顺序表的基本操作代码实现
顺序表:顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。即线性表采用顺序存储的方式存储就称之为顺序表。下面直接上代码: //SeqList.h#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>typedef int SLdatatype;typedef struct SeqList{ S原创 2021-02-05 19:43:26 · 2908 阅读 · 3 评论 -
单链表的逆序
对下面单链表进行逆序:首先定义n1,n2,n3三个指针,使n1=NULL,n2=head,n3=head->next然后将n2指向n1再令n1等于n2,n2等于n3在n3不等于NULL的情况下,令n3=n3->next在n2不等于NULL的情况下,重复上面步骤,直到将单链表逆置。下面给出具体算法代码:struct ListNode* reverseList(struct ListNode* head){ if(head==NULL||head->next==N原创 2021-01-31 22:11:14 · 232 阅读 · 0 评论