软考马上开始了,为了能加薪学习更多东西,充实自己的知识面,决定整个软件设计师考一下,接下来将持续更新相关知识~
1.定义
2.线性表的存储结构
2.1 顺序储存
2.2 链式储存
3.相关运算
4 java实现插入和冒泡排序
抄了半天书了,来点我整理的java实现的排序代码:
/**
* @description: 线性表
* @fileName: LinearTable.java
* @author: GodSure
* @createAt: 2021/8/12/012 11:25
* @updateBy: GodSure
* @remark: GodSure
*/
public class LinearTable {
/**
* 插入排序
*/
public void insertSort() {
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));
}
/**
* 冒泡排序
*/
public void maoPao(){
int[] arr = {2, 0, 5, 9, 8, 4, 3, 1, 6, 7};
int invar = 0;
for (int j = 0; j <arr.length-1 ; j++) {
for (int i = 0; i <arr.length-1-j ; i++) {
if (arr[i]>arr[i+1]){
//交换顺序
invar = arr[i+1];
arr[i+1] = arr[i];
arr[i] = invar;
}
System.out.println(Arrays.toString(arr));
}
}
}
/**
*冒泡排序优化代码,避免多余比较
*/
public void maoPaoBetter(){
int[] arr = {8, 7, 6, 1, 2, 3, 4, 5};
int start_index = 0;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = start_index; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
} else {
start_index = j
}
}
System.out.println(i);
}
}
public static void main(String[] args) {
new LinearTable().insertSort();
}
}