![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构的学习
分享程序设计的基础,数据结构的学习中的那些事
SuperWML
这个作者很懒,什么都没留下…
展开
-
概述希尔排序
预排序的作用是使待排数据尽可能地接近有序,其中把数组进行分组,每隔gap个数据就是一组,然后对gap分组的数据进行插入排序。最后的插入排序,就是当gap = 1时进行的插入排序,因为已经有了预排序的作用,所以插入排序可以很快的速度进行排序。经过以上两步,希尔排序可以说是非常快的排序(远比O(N²)的排序快,他是O(N^1.3))待排数据是2,4,6,8,10,1,3,5,7,9。原创 2023-12-17 22:40:36 · 359 阅读 · 1 评论 -
概述插入排序
第三步:把摸到的牌和手上的牌进行比较,如果摸到的牌比手上的牌小,就把手上的牌往后挪动,一直挪到摸到的牌比手上的牌大为止,然后将摸到的牌插入到手上的牌中即可。待排数据是2,4,6,8,10,1,3,5,7,9。第一步:将已经在手上的牌进行排序。原创 2023-12-17 21:24:42 · 334 阅读 · 0 评论 -
双向循环链表的代码和实现
今天,学习了双向循环链表,以下是链表的增删改查的功能的代码以及实现的截图。原创 2023-11-04 14:40:05 · 47 阅读 · 0 评论 -
数据结构学习day2——顺序表的完整实现
在这一步,我们设计一个函数,参数是顺序表的起始地址和一个想要删除的位置,我们首先用断言语句assert(暴力检查的语句)来检查删除的位置是否正确(pos >= 0 && pos < s->sz),然后写一个循环,让当前元素被后一个元素覆盖即可(i要小于s->sz-1,不能小于s->是因为i会指向最后一个元素,从而导致顺序表外的一个未知元素被拷贝)这个是最简单的一个函数,首先要判断函数的位置是否合法(位置要在顺序表中),然后直接把顺序表中对应的位置的值修改为想要的值即可。1. 顺序表中对应位置元素的删除。原创 2023-10-17 17:46:22 · 33 阅读 · 0 评论 -
数据结构学习Day1——顺序表
顺序表通俗来说就是数组,可以通过下标来随机访问数组中的元素。#define DataType int //把int类型定义为DataType,表示顺序表中的数据,其实什么数据类型都可以重新定义//定义一个指针变量data,用来存储对应的数据int sz;//定义一个sz变量,用来控制当前的数据个数//定义一个capacity变量,用来表示当前顺序表中的容量}SeqList;//函数功能:初始化顺序表s->sz = 0;//函数功能:销毁顺序表//解除s->data指向空间的所有权。原创 2023-10-15 20:21:21 · 146 阅读 · 0 评论