排序算法

来源:互联网 发布:正版origin软件价格 编辑:程序博客网 时间:2024/06/05 12:49




【冒泡排序算法】
public static void BubbleSort(int[] arrays)
{
for (int i = 0; i < arrays.length-1; i++)
{
for (int j = 0; j < arrays.length-i-1; j++)
{
if (arrays[j]>arrays[j+1])
{
int temp = arrays[j+1];
arrays[j+1] = arrays[j];
arrays[j] = temp;
}
}
}
}




【快速排序算法】
public static void QuickSort(int[] arrays,int low,int high)
{
if (low<high)
{
int pivotLoc = Partion(arrays, low, high);
QuickSort(arrays, low, pivotLoc-1);
QuickSort(arrays, pivotLoc+1, high);
}


}

public static int Partion(int[] arrays,int low,int high)
{

int pivotkey = arrays[low];
while (low<high)
{
while (low<high&&arrays[high]>=pivotkey)
{
high--;
}
arrays[low] = arrays[high];
while (low<high&&arrays[low]<=pivotkey)
{
low++;
}
arrays[high] = arrays[low];
}
arrays[low] = pivotkey;
return low;
}


【插入排序算法】
public static void InsertSort(int[] arrays)
{
int watcher = arrays[0];
for (int i = 1; i < arrays.length; i++)
{
if (arrays[i]<arrays[i-1])
{
watcher = arrays[i];
arrays[i] = arrays[i-1];
int j = i-2;
if(j>=0)
{

for (; j>=0&&watcher<arrays[j]; j--)
{
arrays[j+1] =arrays[j];
}

}
arrays[j+1] = watcher;

}
}


}
0 0
原创粉丝点击