
数据结构
文章平均质量分 77
dhiwhdiow
这个作者很懒,什么都没留下…
展开
-
数据结构---顺序表的有关实现
顺序表:用一段地址连续的存储单元依次存储数据元素的线性结构 地址连续的空间,一般情况下采用数组,但数组有静态数组和动态数组,所以顺序表分为静态顺序表和动态顺序表。 静态顺序表的有关实现 #pragma once #include<stdio.h> #include<stdlib.h> #include<assert.h> #define MAX_...原创 2018-08-19 15:44:58 · 145 阅读 · 0 评论 -
常见的排序算法之插入排序
排序算法是在数据结构中十分常见的操作,每种排序算法都有不同的特点,接下来我们学习以下常用的排序算法--插入排序。 基本思想: 每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的合适位置上去,直到元素全部插完为止。 插入排序可以分为直接插入排序和希尔排序。 直接插入排序: 当插入第i(i>1)个元素时,前面的array[0],array[1]....原创 2018-09-12 14:42:16 · 235 阅读 · 0 评论 -
常见的排序算法之选择排序
选择排序是排序算法中比较简单的排序,选择排序又可以细分为直接选择排序和堆排序。 基本思想: 每一趟(第i趟,i=0,1,...,n-2)在后面n-i个待排序的数据元素集合中选出关键码最小的数据元素,作为有序元素序列的第i个元素。待到第n-2趟做完,待排序元素集合中只剩下一个元素,排序结束。 直接选择排序: · 在元素集合array[i]-array[n-1]中选择关键码最大(小...原创 2018-09-28 11:17:53 · 186 阅读 · 0 评论 -
Java实现双向链表
目录 链表的基本介绍 双向链表的实现 链表的基本介绍 如果现在想保存多个对象,那么首先可以想到的就是对象数组;如果要保存多个任意对象,那么可以想到的一定是Object型的数组。 Object[] data = new Object[3]; 但是在实际开发中,要面临的一个问题是:数组是一个定长的线性结构。一旦我们的内容不足或者内容过多,都有可能造成空间浪费。要想解决此类问题,做好的做法...原创 2018-11-02 21:59:41 · 194 阅读 · 1 评论 -
详解排序算法之插入排序(一)
1. 直接插入排序 插入排序是各种排序算法中较为简单的一种排序,其主要思想是: 将数组看作有序部分和无序部分,默认第一个元素是有序的。 从第二个元素开始往前插入,如果有序部分的元素大于要插入的元素,就继续向前遍历,直到碰见一个元素小于要插入的元素,这时,将要插入的元素插入该元素后面。 注意,在遍历的时候,大于要插入元素的元素一直在向后移动。 注:在这里所讲的排序是以升序为例的。 下...原创 2019-02-15 19:14:44 · 754 阅读 · 0 评论 -
详解排序算法之选择排序(二)
1. 选择排序 选择排序的思想如下: 在元素集合array[i]~array[n-1]中选择关键码最大(小)的数据元素; 若它不是这组元素中的最后一个(第一个)元素,则将它与这组元素中的最后一个(第一个)元素交换; 在剩余的array[i]~array[n-2]集合中,重复上述步骤,直到集合剩余1个元素。 注:这里所讲的排序是以升序为例的。 图示如下: 很明显,这种做法是可...原创 2019-04-07 14:38:21 · 197 阅读 · 0 评论