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