7种排序算法的实现示例
本文导语: 代码如下:#include #include #include void BubbleSort1 (int n, int *array) /*little > big*/{ int i, j; for (i=0; ii; j--) { if (array[j] < array[j-1]) { int temp = array[j]; array[j] = array[j-1]; array[j-1] = temp; } } }} void BubbleSort2 (int n,...
#include
#include
#include
void BubbleSort1 (int n, int *array) /*little > big*/
{
int i, j;
for (i=0; ii; j--)
{
if (array[j] < array[j-1])
{
int temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}
}
}
}
void BubbleSort2 (int n, int *array)
{
int i, j, flag=1; /*flag=1表示需要继续冒泡*/
for (i=0; ii; j--)
{
if (array[j] < array[j-1])
{
int temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
flag = 1;
}
}
}
}
void SelectSort (int n, int *array)
{
int i, j, min;
for (i=0; i key; j--)
{
array[j+1] = array[j];
}
/*循环结束时array[j] 0; increment /= 2)
{
for (i=0; ikey; k -= increment)
{
array[k+increment] = array[k];
}
array[k+increment] = key;
}
}
}
}
}
/*分治法*/
void QuickSort (int left, int right, int *array)
{
if(left>=right)
return ;
int i=left, j=right;
int key=array[i];
while (i