本文共 1643 字,大约阅读时间需要 5 分钟。
冒泡排序的时间复杂度为 O(n^2)
冒泡排序的具体步骤请看下图:
这里在写一个简单的冒泡排序题目吧
对于一个int数组,请编写一个冒泡排序算法,对数组元素排序。给定一个int数组A及数组的大小n,请返回排序后的数组。
测试样例:
[1, 2, 3, 5, 2, 3], 6
返回值:
[1, 2, 2, 3, 3, 5 ]
通过代码:
import java.util.*;public class BubbleSort { public int[] bubbleSort(int[] A, int n) { // write code here for(int i = 0; i < n; i++){ for(int j = 0; j < n - i -1; j++){ if(A[j] > A[j+1]){ int tem = A[j]; A[j] = A[j+1]; A[j+1] = tem; } } } return A; }}
时间复杂度为 O(N^2)
选择排序的具体步骤请看下图:
对于一个int数组,请编写一个选择排序算法,对数组元素排序。给定一个int数组A及数组的大小n,请返回排序后的数组。
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
通过代码:
import java.util.*;public class SelectionSort { public int[] selectionSort(int[] A, int n) { int i,j,min,temp; for(i = 0;i < n-1; i++) { min = i; for(j = i+1;j < n; j++) if(A[min] > A[j]) min = j; if(min != i) { temp = A[min]; A[min] = A[i]; A[i] = temp; } } return A; }}
时间复杂度 O( N^2 )
插入排序的具体步骤请看下图:
题目:
对于一个int数组,请编写一个插入排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。
测试样例:
[1,2,3,5,2,3], 6
[1,2,2,3,3,5]
通过代码:
import java.util.*;public class InsertionSort { public int[] insertionSort(int[] A, int n) { int i, j, temp; for(i = 1; i < n; i++){ temp = A[i]; for(j = i; j > 0 && A[j - 1] > temp; j-- ){ A[j] = A[j - 1]; } A[j] = temp; } return A; }}