asp教程.net c排序方法
namespace quicksort
{
class quicksort
{
public static void sort(int[] array)
{
dosort(array,0, array.length-1);
}
private static void dosort( int[] array, int start, int end)
{
if( start < end)
{
int temp = partition(array, start, end);
dosort(array, start, temp-1);
dosort(array, temp + 1, end);
}
}
private static int partition(int[] array,int start, int end)
{
int index = start - 1;
for( var i=start; i< end; i++)
{
if( array[i] < array[end])
{
index++;
swap(array, index, i);
}
}
swap(array, index +1, end);
return index + 1;
}
private static void swap(int[] array, int index1, int index2)
{
var temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
}
}
国外的一款c 排序方法
#include
#include#define num_items 100
void quicksort(int numbers[], int array_size);
void q_sort(int numbers[], int left, int right);int numbers[num_items];
int main()
{
int i;//seed random number generator
srand(getpid());//fill array with random integers
for (i = 0; i < num_items; i++)
numbers[i] = rand();//perform quick sort on array
quicksort(numbers, num_items);printf("done with sort.n");
for (i = 0; i < num_items; i++)
printf("%in", numbers[i]);
}
void quicksort(int numbers[], int array_size)
{
q_sort(numbers, 0, array_size - 1);
}
void q_sort(int numbers[], int left, int right)
{
int pivot, l_hold, r_hold;l_hold = left;
r_hold = right;
pivot = numbers[left];
while (left < right)
{
while ((numbers[right] >= pivot) && (left < right))
right--;
if (left != right)
{
numbers[left] = numbers[right];
left++;
}
while ((numbers[left] <= pivot) && (left < right))
left++;
if (left != right)
{
numbers[right] = numbers[left];
right--;
}
}
numbers[left] = pivot;
pivot = left;
left = l_hold;
right = r_hold;
if (left < pivot)
q_sort(numbers, left, pivot-1);
if (right > pivot)
q_sort(numbers, pivot+1, right);
}
罚罪1+2全80集阿里云盘全集资源链接-罚罪1+2全集高清1080P/4K阿里云盘资源下载无删减
邵氏精品禁品未删减资源在线看-必看的50部邵氏电影无删减观看入口
羞羞漫画高清最新资源-正规平台免费入口与无删减资源导航
日漫入口-官方认证安全入口与无删减日漫资源直达导航
一拳超人漫画入口-2026最新免费高清全集在线看
杨紫《生命树》1080p全40集迅雷磁力链接分享-杨紫《生命树》40集高清完整版迅雷云盘下载1080P(4k)资源