嵊州做网站,wordpress文本块字体大小,wordpress文章分类div布局,wordpress 知更鸟hotnews添加友情链接冒泡排序 冒泡排序无疑是最为出名的排序算法之一#xff0c;总共有八大排序!  冒泡的代码还是相当简单的#xff0c;两层循环#xff0c;外层冒泡轮数#xff0c;里层依次比较#xff0c;江湖中人人尽皆知。  我们看到嵌套循环#xff0c;应该立马就可以得出这个算法的时…冒泡排序 冒泡排序无疑是最为出名的排序算法之一总共有八大排序!  冒泡的代码还是相当简单的两层循环外层冒泡轮数里层依次比较江湖中人人尽皆知。  我们看到嵌套循环应该立马就可以得出这个算法的时间复杂度为O(n2)。  
代码示例 
public class ArrayDemoe7 {public static void main(string[]args) {int[] a  {1,4,5,6,72,2,2,2,25,6,7};int[] sort  sort(a);//调用完我们自己写的排序方法以后返回一个排序后的数组
}public static int[] sort(int[]array){//临时变量int temp  0;//外层循环判断我们这个要走多少次;for (int i  0; i  array.length-1;i) {//内层循环比价判断两个数如果第一个数比第二个数大则交换位置for (int j  0; j  array.length-1-i;j) {if (array[j1]array[j]){temp  array[j];array[j]  array[j1];array[j1]  temp;}}}
return array;
)
 
稀疏数组 当一个数组中大部分元素为0或者为同一值的数组时可以使用稀疏数组来保存该数组。‘  稀疏数组的处理方式是:  记录数组一共有几行几列有多少个不同值  把具有不同值的元素和行列及值记录在一个小规模的数组中从而缩小程序的规模  
如下图:左边是原始数组右边是稀疏数组 在二维数组中其中大部分都是一样的数值但存在一小部分数值不同时挑出不同的组成稀疏数组 
例如上图中[o]排的意思是该稀疏数组记录的是具有6行7列的二维数组其中一共有8个不同的值下面[1],[2],[3]...代表的意思举例[1]:第0行第3列的值是22。 
代码示例 
public class Array {public static void main(String[] args) {//1创建一个二维数组11* 1i0:没有棋子1:黑棋2:白棋int[][]array1  new int[11][11];array1[1][2]  1;array1[2][3]  2;//输出原始的数组System.out.println(输出原始的数组);for (int[] ints : array1) {for (int anInt : ints) {System.out.print( anInt\t );}System.out.print1n();}//转换为稀疏数组保存System.out.print1n( );
//获取有效值的个数int sum  0;for (int i  0; i  11; i) {for (int j  0; j  11;j) {if ( array1[i][j]!0){sum;}}}System.out. println(有效值的个数:sum) ;//2.创建一个稀疏数组的数组int[][]array2  new int[sum1][3];array2[0][0]  11;//行数array2[0][1]  11;//列数array2[0][2]  sum;//值
//遍历二维数组将非零的值存放稀疏数组中int counto;for (int i  e; i  array1 . length ; i) {for (int j  o; j  array1[i].iength; j) {if ( array1[i][j]!o){count;array2[count][0]  i;array2[count][1]  j;array2[countj[2]  array1[i][j];}}}//输出稀疏数组System.out.print1n(稀疏数组);for (int i  o; i  array2.length; i) {System.out.print1n(array2[i][0]\tarray2[i][1]\t”array2[i][2]\t);
}System. out.print1n( );System.out.println(“还原);//1.读取稀疏数组int[][]array3  new int[array2[0][0]][array2[0][1]];//2.给其中的元素还原它的值for (int i  1; i  array2.length; i) {array3[array2[i][0]][array2[i][1]]  array2[i][2];//3.打印System.out.println(输出还原的数组);for (int[] ints : array3) {for (int anInt : ints) {System.out.print(anInt\t);}System.out.println();}
}
}