数据结构
文章平均质量分 81
术业还未专攻
但行好事,莫问前程
展开
-
数据结构-经典排序算法:冒泡排序-白话文详解和c/c++代码实现
冒泡排序是这样的,假如我当前有一个数组[x1,x2,x3,...,xn],这n个数是无序的,那么我要对该数组进行排序的话,假如要将该数组进行升序,我每一次都能从前往后(或从后往前)确定一个元素xi的具体位置,排在元素xi之前的元素都要比它小,它之后的元素都比它大原创 2023-03-28 14:30:24 · 1231 阅读 · 0 评论 -
数据结构-线性表(顺序表)中删除相同的元素,只保留一个
这个专栏用于写一些数据结构中的例题,从线性表开始啦。顺序表应用1:多余元素删除之移位算法Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目标是熟悉顺序表的移位算法,因原创 2021-11-01 22:10:05 · 5857 阅读 · 1 评论 -
数据结构之队列(链式队列)的基本操作与实现
这篇文章的末尾有完整的实现代码,书写不易,转载请附上本文章链接。一、链式队列的概念 何为链式队列,想到链式队列大家应该都会想到顺序表的单链表的基本操作,我们来对比一下:单链表是用一个头指针或者是尾指针来实现元素的插入和删除等,即头插法和尾插法。而链式队列呢,我们都知道队列是一个在队首进行出队再队尾进行入队,而不是在一段完成任务,所以我们这里就需要两个指针分别指向队列的头front和尾rear,他们两个各司其职,当要进行出队操作时,头指针front说了算,当要进行入队操作时,尾指针re...原创 2021-11-14 11:44:53 · 20156 阅读 · 6 评论 -
数据结构之队(循环队列)的基本操作和实现
引言:这篇文章的末尾有完整的实现代码,前面还是先进行分步实现,即我们探讨一下为什么要这样做,以及我们应该怎么样一步一步的实现循环队列。目录一、队列的概念二、队的基本操作三、对于队的操作,了解若干个规则四、对队列的基本操作进行实现(1)、队的初始化(2)、判断队是否为空(3)、求队列的长度(4)、入队操作(5)、出队操作(6)、求队首元素(7)、主函数(8)、运行结果(9)、完整代码总结一、队列的概念 我们可以把队列理解...原创 2021-11-13 11:27:43 · 6203 阅读 · 3 评论 -
数据结构之栈(链栈)的基本操作
一、关于链栈的操作,它和链表有很大的相似之处,不同的是,栈只允许在栈顶进行入栈操作,和链表的头插法相同。二、之所以要用链栈,是因为如果我们用顺序栈的话,需要提前申请一片内存空间,但是如果我们值存入少量的元素,那么这片内存空间难免会造成一定的浪费。如果使用链栈的话,我们只在入栈的时候进行内存的申请,然后再进行元素的存储,既可以进行动态的内存申请。根据实际入栈元素的多少申请所需的空间即可。三、链栈和顺序栈的基本操作都是一样的,包括:初始化,求长度,判断栈是否为空,入栈,出栈,取栈顶元素。(1)先定义原创 2021-11-10 22:29:59 · 4341 阅读 · 0 评论 -
数据结构(C语言)—线性表中顺序表的基本操作以及实现
一、什么叫做顺序表,顺序表通过什么来体现? 顺序表就是两个在逻辑上相邻的元素,在顺序表中他们的位置也相同。字母A-Z就是一个顺序表。顺序表是由一个个的元素组成的,并且这些元素的类型是相同的。 我们可以用一个数组来表示这个顺序表,也就是在创建顺序表之前,我们可以给它一个固定大小的空间。 我们也可以用一个指针来表示不确定空间大小的数组,需要多大我们就申请多大的空间。二、结构体的运用 在我看来,数据结构的意思就是我们在拿到一个问题时,可以定...原创 2021-11-03 22:44:20 · 3736 阅读 · 0 评论