有序数组查找速度比无序数组快
在插入操作中由于所有的数据都需要移动以腾开空间,速度慢
有序数组和无序数组的删除操作都很慢,数据项必须向前移动来填补已删除数据项的洞
有序数组在查找频繁的情况下十分有用,但若是插入和删除较为频繁时,则无法高效工作
1 冒泡排序 2 public void bubbleSort() 3 { 4 int out , in; 5 for(out=nElems-1; out>1; out--) 6 for(in=0;in<out;in++) 7 if(a[in]>a{in+1]) 8 swap(in,in+1); 9 }
1 选择排序 2 public void selectionSort() 3 { 4 int out,in,min; 5 for(out=0;out<nElems-1;out++) 6 { 7 min=out; 8 for(in=out+1;in<nElems;in++) 9 if(a[in]<a[min]) 10 min=in; 11 swap(out,min); 12 } 13 }
1 插入排序 2 public void insertionSort() 3 { 4 int in,out; 5 for(out=1;out<nElems;out++) 6 { 7 long temp = a[out]; 8 in=out; 9 while(in>0 && a[in-1] >= temp) 10 { 11 a[in]= a[in-1]; 12 --in; 13 } 14 a[in]= temp; 15 } 16 }