
数据结构
qr2001
这个作者很懒,什么都没留下…
展开
-
list的简单模拟实现
【代码】list的简单模拟实现。原创 2022-09-16 11:05:07 · 128 阅读 · 0 评论 -
快速排序(详解)
快速排序是一种交换排序,交换就是根据序列中的两个记录键值的比较结果来兑换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。ho...原创 2022-05-28 01:40:54 · 2070 阅读 · 0 评论 -
排序(详解)
排序的概念**排序:**排序就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作**稳定性:**假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。**内部排序:**数据元素全部放在内存中的排序。**外部排序:**数据元素太多不能同时存放在内存中,根据排序过程的要求不能在内存之间移动原创 2022-05-28 00:26:25 · 89 阅读 · 0 评论 -
栈和队列(详解)
栈的概念及其结构栈:是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素的操作。进行数据插入和删除操作的一端称为栈顶,另外一端称为栈底。栈中的数据元素遵循先进后出(后进先出)的原则。压栈: 站的插入操作叫做进栈/压栈/入栈,入数据在栈顶出栈:栈的删除操作叫做出栈。出数据也在栈顶栈的实现站的实现一般可以使用链表或者数组实现,想对而言数组的结构实现更优一些,因为数组在尾上插入数据的代价比较小。栈的头文件#pragma once#define _CRT_SECURE_NO_WARNINGS原创 2022-05-02 10:38:45 · 1021 阅读 · 0 评论 -
双向带头循环链表(详解)
双向链表的接口实现原创 2022-04-28 09:20:17 · 2337 阅读 · 0 评论 -
顺序表-数据结构(接口)
头文件#pragma once#include<stdio.h>#include<string.h>#include<stdlib.h>#include<assert.h>#define N 100typedef int SLDataType;typedef struct SeqList{ SLDataType* array; size_t size; size_t capicity;}SeqList;//顺序表的初始化vo原创 2022-04-15 17:11:28 · 110 阅读 · 0 评论