文章目录数组一、数组定义zqdxh、数组包含的数据类型三、获取数组长度四、数组遍历五、数组切片六、数组置换七、数组删除八、数组添加元素九、排序算法1 .基于冒泡的排序算法2 .直接选择排序
数组一、数组定义方法
方法1 :
数组名称=(value0 value1 value2 …)
zqdxh:
数组名称=([0]=value [1]=value [2]=value …)
方法3 :
列表名称=“value0 value1 value2 …”
数组名称=$列表名称)
方法4 :
数组名称[0]=“value”
数组名称[1]=“value”
数组名称[2]=“value”
二.数组中包含的数据类型数值类型
字符类型(字符串) )使用或的定义,以防止元素中包含空格或用空格分隔元素
三.获取序列长度ABC=(12345678 )。 通过定义#数组echo$ ) ABC[*] )或echo$ ) ABC[@] )获取数组长度
读取某索引赋值
四.数组遍历[root@promote d3]#vim 3.sh#! /复杂土豆/Basharr=(54321 ) for i in ${arr[@]}do echo $idone
五、数组片Arry=(123456 ) echo ${arry[*]} echo ${arry[@]} #输出整个数组,其中)与@相同,echo $ { arry [ @ ] 3360033603600
六.序列重排方法一:单一重排
Arry=(123456 ) echo $ { arry [ * ] } arry [0]=66 echo $ { arry [ * ] }
zqdxh :多重取代、永久取代
arrp=$ { arry [ * ]/6/88 } arry=($ arrp ) echo ${arry[*]}七、删除数组删除echo ${arry[*]}unset arry #删除整个数组
八.如何在数组中添加元素一:单一添加
ARR=(123456 )7) echo $ { arr [6] } arr [7]=8arr [8]=9echo $ { arr [ * ] }
zqdxh )如果不删除任何内容,最大索引值为元素长度减少一个
九.排序算法排序算法顾名思义,我们想象下站队的时候是怎么排序的,来时看到谁最高就让谁站到第一位,然后再找第二高的,以此类推。我们看出高低也是互相比较得出的,计算机也可以使用这个方法,首先找到最高的,然后是第二高的,这种方法就是冒泡排序,因为他是按照大小一个一个的得到结果,就像是水泡浮出水面一样。1 .冒泡排序算法
根据气泡排序原理,从第一位开始比较,因为是43,所以改变位置
然后比较4和1,继续改变位置
47所以,即使不改变位置,最大的也会变成7
76所以,上面会起泡沫
到目前为止达到了最大的数7,但接下来还是开始寻找从第一名到第二大的数。
这样就完成了第二个数的搜索,发现冒泡算法的基本原理是将最大的点悬浮在较高的位置。 只要一次选择现在最大的数量,6个数字循环5次就可以完全排序。 因为最后两个数字的排序会按顺序有序。
因为6个数字,需要5次循环,次数太多,所以我的照片不一一展示。
class untitled { publicstaticvoidmain (string [ ] args ) int[]array=newint ) } { 4,3,1,7,6,2 }; //需要我们排序的数组int temp=0; //临时变量//循环次数的数组长度为-1次即可。 对于两个数字,//i变量表示从数组的最后一位开始的当前最大数量for(intI=array.length-1; i0; I--}{for(intj=0; ji; j//内层导线0到该位置的所有元素(if(array[j]array[j1] ) /如果大,则更换,否则不更改({ temp=array[j 1] ); array[j 1]=array[j]; array[j]=temp; }//排序后的这种格式也可以使用java独有的常规遍历和数组转换字符串方法for(intele:array ) system.out.println.直接选择排序选择排序(select ) 这是一种从要排序的数据元素中首先选择最小(或最大)元素,将其放在序列的开头,然后在剩下的未排序元素中查找最小(大)元素,将其放在已排序序列的末尾的机制。 因此,在要排序的所有数据元素的数量都为零之前,选择排序是一种不稳定的排序方法。
# includeiostreamusingnamespacestd; voidselectionsort(inta[],int n ) {int t,flag; for(intI=0; 合1; I ) ) {flag=i; for(intj=I1; jn; j () if ) a[flag]a[j] ) flag=j; }t=a[i]; a[i]=a[flag]; a[flag]=t; }}int main () inta(8)={ 8,9,1,3,5,2,7,6 }; 选择(a,8 ); for(intI=0; i8; I ) couta[i]endl; 返回0; }