1.线性表的定义
线性表 是具有相同属性的数据元素的一个有限序列。该序列中所含元素的个数称为线性表的 长度 ,用n 表示,n >= 0,当 n = 0时,表示线性表是一个空表。 线性表的一般表示为:
A =(a1,a2 ... ai,ai+1,an):用一个标示符A来命名。
其中 a1为第一个元素。
例如:
一种数据结构 linearity = (K,R),其中,K={01,02,03,04,05,06,07,08,-9,10} R = {<05,01>,<01,03>,<03,08>,<08,02>,<02,07>,<07,04>,<04,06>,<06,09>,<09,10>}
对应的图形如下:
(05)-> (01) -> (03) ->(08)->(02)-> (07) -> (04) ->(06)-> (09) ->(10)
1.线性表的长度是可变的,当插入一个元素时,长度就增加1,..
2.线性表是一种线性结构。反过来,任何线性数据结构都可以用线性表的形式表示。
2.对线性表进行排序
排序:就是按照元素对值或某个域对值对升序(降序)排列元素.
1.排序方式很多中(后期会持续更新......希望大家多多关注),
1.插入排序方法
插入排序:把线性表 list[0] ~list[n-1] 中共n个元素看做一个有序表和一个无须表, 开始时有序表中只有一个元素 list[0](一个元素总认为是有序的) 无序表中包含有 n-1个元素list[1]~list[n-1],以后每次从无序表中去出第一个元素。把它插入到前面有序表中到合适位置。使之成为一个新到有序列表。这样每次有序表就新加一个元素,无序表就减少一个元素。经过n-1次后,有序表中包含 n个元素,无序表变为一个空表。整个线性表就成为一个有序表。
如图:
java 实现:
@Test
public void test3() {
int[] array={23,34,25,66,21};
int i,j,temp;
for(i=1;i<array.length;i++) {
temp=array[i];
for(j=i-1;j>=0;j--) {
if(temp>array[j]) {
break;
}else {
array[j+1]=array[j];
}
}
array[j+1]=temp;
}
System.out.println(Arrays.toString(array));
}
2.冒泡排序方法
https://blog.youkuaiyun.com/duanlei123456/article/details/87604301