//冒泡排序
public static void bubbleSort(List list){
Stock[] array= list.toArray(new Stock[list.size()]);
Stock temp;
for (int i=0;i<array.length;i++){
for(int j=i+1;j<array.length-1;j++){
if(array[j-1].>array[j]){
temp=array[j];
array[j]=array[j-1];
array[j-1]=temp;
}
}
}
return list;
}
//快速排序(一分为二,左右再一分二,以此类推递归)
public static void quickSort(int[] numbers, int left, int right) {
if (left < right) {
int base = numbers[left]; // 选定的基准值(第一个数值作为基准值)
int i = left, j = right;
while(i!=j){
while(numbers[j]>=base && i<j)
j--;
while(numbers[i]<=base && i<j)
i++;
if(i<j){
base=numbers[i];
numbers[i]=numbers[j];
numbers[j]=base;
}
}
//最终将基准数归位
numbers[left]=numbers[i];
numbers[i]=base;
quickSort(numbers,left,i-1);//继续处理左边的,这里是一个递归的过程
quickSort(numbers,i+1,right);
}
}
//选择排序(与冒泡排序相反找到最小元素,存放到排序序列的起始位置)
public static void selectSort(int[] numbers) {
int size = numbers.length, temp;
for (int i = 0; i < size; i++) {
int k = i;
for(int j=i+1;j>i;j++){
if (numbers[j] < numbers[k])
k = j;
}
temp = numbers[i];
numbers[i] = numbers[k];
numbers[k] = temp;
}
}
//直接插入排序
public static void InsertSort(int[] a)
{
int i, j, key;
for(i = 1; i < a.length; ++i){
key = a[i];
//已排序的循环插入
for(j = i-1; j >=0; --j){
if(a[j] > key)
a[j+1] = a[j];
else
break;
}
a[j+1] = key;
}
}
public static void bubbleSort(List list){
Stock[] array= list.toArray(new Stock[list.size()]);
Stock temp;
for (int i=0;i<array.length;i++){
for(int j=i+1;j<array.length-1;j++){
if(array[j-1].>array[j]){
temp=array[j];
array[j]=array[j-1];
array[j-1]=temp;
}
}
}
return list;
}
//快速排序(一分为二,左右再一分二,以此类推递归)
public static void quickSort(int[] numbers, int left, int right) {
if (left < right) {
int base = numbers[left]; // 选定的基准值(第一个数值作为基准值)
int i = left, j = right;
while(i!=j){
while(numbers[j]>=base && i<j)
j--;
while(numbers[i]<=base && i<j)
i++;
if(i<j){
base=numbers[i];
numbers[i]=numbers[j];
numbers[j]=base;
}
}
//最终将基准数归位
numbers[left]=numbers[i];
numbers[i]=base;
quickSort(numbers,left,i-1);//继续处理左边的,这里是一个递归的过程
quickSort(numbers,i+1,right);
}
}
//选择排序(与冒泡排序相反找到最小元素,存放到排序序列的起始位置)
public static void selectSort(int[] numbers) {
int size = numbers.length, temp;
for (int i = 0; i < size; i++) {
int k = i;
for(int j=i+1;j>i;j++){
if (numbers[j] < numbers[k])
k = j;
}
temp = numbers[i];
numbers[i] = numbers[k];
numbers[k] = temp;
}
}
//直接插入排序
public static void InsertSort(int[] a)
{
int i, j, key;
for(i = 1; i < a.length; ++i){
key = a[i];
//已排序的循环插入
for(j = i-1; j >=0; --j){
if(a[j] > key)
a[j+1] = a[j];
else
break;
}
a[j+1] = key;
}
}