摘自:http://blog.csdn.net/mevin/article/details/6714520

程序代码:

view plaincopy to clipboard
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace c_sharp_sort
{
class Program
{
static void Main(string[] args)
{
int[] test7 = { , , , , , , , , , };
heapsort(test7, , ); //堆排序
foreach (int a in test7)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test6 = { , , , , , , , , , };
radixsort(test6, , , ); //基数排序(第4个参数是数组中最大数的10的最大次瞑)
foreach (int a in test6)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test0 = { , , , , , , , , , };
insertsort(test0, ); //插入排序
foreach (int a in test0)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test1 = { , ,, , , , , , , };
newinsertsort(test1, ); //折半插入排序
foreach (int a in test1)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test2 = { , ,, , , , , , , };
shellsort(test2, ); //希尔排序
foreach (int a in test2)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test3 = { , , , , , , , , , };
paopaosort(test3, ); //冒泡排序
foreach (int a in test3)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test4 = { , , , , , , , , , };
fastsort(test4, , ); //快速排序
foreach (int a in test4)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test5 = { , , , , , , , , , };
selectsort(test5, ); //选择排序
foreach (int a in test5)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); Console.Read();
}
static public void heapsort(int[] array, int begin, int end) //堆排序
{
int temp, i, j, length;
for (i = (end - begin) / ; i >= begin; i--) //建初堆
{
j = i;
while (j <= (end - begin) / )
{
if (( * j + ) <= end)
{
if (array[ * j + ] > array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
else if (array[ * j + ] < array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[j];
array[j] = array[ * j + ];
array[ * j + ] = temp;
j = * j + ;
}
else
break;
}
else
{
if (array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
break;
}
}
}
for (length = end; length > begin; length--) //首尾交换
{
temp = array[length];
array[length] = array[];
array[] = temp;
j = ;
while (j < (length - begin-) / ) //调整堆
{
if (( * j + ) <= end)
{
if (array[ * j + ] > array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
else if (array[ * j + ] < array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[j];
array[j] = array[ * j + ];
array[ * j + ] = temp;
j = * j + ;
}
else
break;
}
}
}
} static public void insertsort(int[] array, int length) //直接插入排序
{
int i,j,temp;
for (i = ; i < length; i++)
{
temp = array[i];
j=i-;
while (temp<array[j])
{
array[j + ] = array[j];
j = j - ;
if (j == -)
{
break;
}
}
array[j+]=temp;
}
} static public void newinsertsort(int[] array, int length) //折半插入排序
{
int low,high, i,j,temp;
for (i = ; i <length; i++)
{
temp = array[i];
low = ; high = i - ;
j= (high-low)/;
while (low<=high)
{
if (low == high)
{
if (array[] > temp)
j = ;
else
j = ;
break;
}
else if (low == high - )
{
if (array[j + ] < temp)
j += ;
else if (array[j] < temp)
j++;
break;
}
else if (array[j] < temp)
{
low = j;
j += (high - low) / ;
}
else if (array[j] > temp)
{
high = j;
j= low+(high - low) / ;
}
else
break;
}
for (int n = i- ; n >= j; n--)
array[n + ] = array[n];
array[j] = temp;
}
} static public void shellsort(int[] array, int length) //希尔排序(基于直接插入排序)
{
int i, j,k,delta=length/,temp;
while(delta!=) //delte为分组递增值
{
for (i = ; i < delta; i++)
{
for (j = i + delta; j < length; j += delta)
{
temp = array[j];
k = j - delta;
while (temp < array[k]) //对每组进行直接插入排序
{
array[k + delta] = array[k];
k = k - delta;
if (k == i - delta)
{
break;
}
}
array[k + delta] = temp;
}
j -= delta;
if (array[j] < array[i]) //2组之间首位进行交换排序
{
temp = array[j];
array[j] = array[j];
array[j] = temp;
}
}
delta /= ;
}
} static public void paopaosort(int[] array, int length) //冒泡排序
{
int i, j, temp;
j=length;
while(j!=)
{
for (i = ; i < j-; i++)
{
if (array[i]>array[i+])
{
temp=array[i];
array[i]=array[i+];
array[i+]=temp;
}
}
j--;
}
} static public void fastsort(int[] array, int begin,int end) //快速排序
{
if (begin < || end < || begin >end)
return;
int left = begin, right = end, temp; //经典的快排
temp = array[left];
while (right != left)
{
while (temp < array[right] && right>left)
right--;
if (right > left)
{
array[left] = array[right];
left++;
}
while (temp > array[left] && right > left)
left++;
if (right > left)
{
array[right] = array[left];
right--;
}
}
array[right] = temp;
fastsort(array, right + , end);
fastsort(array, begin, right-);
}
static public void selectsort(int[] array, int length) //选择排序
{
int i=, j, min,temp_array,temp;
while (i < length - )
{
min = array[i];
temp = i;
for (j = i+; j < length; j++)
{
if (array[j] < min)
{
min = array[j];
temp = j;
}
}
temp_array = array[i];
array[i] = array[temp];
array[temp] = temp_array;
i++;
}
}
static public void radixsort(int[] array, int begin,int last, int pow) //基数排序
{
Queue<int>[] queue = new Queue<int>[]; //利用泛型队列来存储筛选分组
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
int[] nn={,,,,,,,,,};
int x, p = pow, n,i;
while (p >= )
{
for (i=begin;i<=last;i++)
{int sum=array[i];
n=pow-p;
while(n!=)
{
sum=sum/;
n--;}
sum=sum%;
switch (sum)
{case : queue[].Enqueue(array[i]);nn[]++;break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
}
} //for
x=n=;
for (i=;i<;i++)
{n=n+x;
x=nn[i];
while (nn[i]!=)
{
array[n + x - nn[i]] = queue[i].Peek();
queue[i].Dequeue();
nn[i]--;
}}
p--;} //while
}
}
}
[c-sharp] view plaincopy
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace c_sharp_sort
{
class Program
{
static void Main(string[] args)
{
int[] test7 = { , , , , , , , , , };
heapsort(test7, , ); //堆排序
foreach (int a in test7)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test6 = { , , , , , , , , , };
radixsort(test6, , , ); //基数排序(第4个参数是数组中最大数的10的最大次瞑)
foreach (int a in test6)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test0 = { , , , , , , , , , };
insertsort(test0, ); //插入排序
foreach (int a in test0)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test1 = { , ,, , , , , , , };
newinsertsort(test1, ); //折半插入排序
foreach (int a in test1)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test2 = { , ,, , , , , , , };
shellsort(test2, ); //希尔排序
foreach (int a in test2)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test3 = { , , , , , , , , , };
paopaosort(test3, ); //冒泡排序
foreach (int a in test3)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test4 = { , , , , , , , , , };
fastsort(test4, , ); //快速排序
foreach (int a in test4)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test5 = { , , , , , , , , , };
selectsort(test5, ); //选择排序
foreach (int a in test5)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); Console.Read();
}
static public void heapsort(int[] array, int begin, int end) //堆排序
{
int temp, i, j, length;
for (i = (end - begin) / ; i >= begin; i--) //建初堆
{
j = i;
while (j <= (end - begin) / )
{
if (( * j + ) <= end)
{
if (array[ * j + ] > array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
else if (array[ * j + ] < array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[j];
array[j] = array[ * j + ];
array[ * j + ] = temp;
j = * j + ;
}
else
break;
}
else
{
if (array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
break;
}
}
}
for (length = end; length > begin; length--) //首尾交换
{
temp = array[length];
array[length] = array[];
array[] = temp;
j = ;
while (j < (length - begin-) / ) //调整堆
{
if (( * j + ) <= end)
{
if (array[ * j + ] > array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
else if (array[ * j + ] < array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[j];
array[j] = array[ * j + ];
array[ * j + ] = temp;
j = * j + ;
}
else
break;
}
}
}
} static public void insertsort(int[] array, int length) //直接插入排序
{
int i,j,temp;
for (i = ; i < length; i++)
{
temp = array[i];
j=i-;
while (temp<array[j])
{
array[j + ] = array[j];
j = j - ;
if (j == -)
{
break;
}
}
array[j+]=temp;
}
} static public void newinsertsort(int[] array, int length) //折半插入排序
{
int low,high, i,j,temp;
for (i = ; i <length; i++)
{
temp = array[i];
low = ; high = i - ;
j= (high-low)/;
while (low<=high)
{
if (low == high)
{
if (array[] > temp)
j = ;
else
j = ;
break;
}
else if (low == high - )
{
if (array[j + ] < temp)
j += ;
else if (array[j] < temp)
j++;
break;
}
else if (array[j] < temp)
{
low = j;
j += (high - low) / ;
}
else if (array[j] > temp)
{
high = j;
j= low+(high - low) / ;
}
else
break;
}
for (int n = i- ; n >= j; n--)
array[n + ] = array[n];
array[j] = temp;
}
} static public void shellsort(int[] array, int length) //希尔排序(基于直接插入排序)
{
int i, j,k,delta=length/,temp;
while(delta!=) //delte为分组递增值
{
for (i = ; i < delta; i++)
{
for (j = i + delta; j < length; j += delta)
{
temp = array[j];
k = j - delta;
while (temp < array[k]) //对每组进行直接插入排序
{
array[k + delta] = array[k];
k = k - delta;
if (k == i - delta)
{
break;
}
}
array[k + delta] = temp;
}
j -= delta;
if (array[j] < array[i]) //2组之间首位进行交换排序
{
temp = array[j];
array[j] = array[j];
array[j] = temp;
}
}
delta /= ;
}
} static public void paopaosort(int[] array, int length) //冒泡排序
{
int i, j, temp;
j=length;
while(j!=)
{
for (i = ; i < j-; i++)
{
if (array[i]>array[i+])
{
temp=array[i];
array[i]=array[i+];
array[i+]=temp;
}
}
j--;
}
} static public void fastsort(int[] array, int begin,int end) //快速排序
{
if (begin < || end < || begin >end)
return;
int left = begin, right = end, temp; //经典的快排
temp = array[left];
while (right != left)
{
while (temp < array[right] && right>left)
right--;
if (right > left)
{
array[left] = array[right];
left++;
}
while (temp > array[left] && right > left)
left++;
if (right > left)
{
array[right] = array[left];
right--;
}
}
array[right] = temp;
fastsort(array, right + , end);
fastsort(array, begin, right-);
}
static public void selectsort(int[] array, int length) //选择排序
{
int i=, j, min,temp_array,temp;
while (i < length - )
{
min = array[i];
temp = i;
for (j = i+; j < length; j++)
{
if (array[j] < min)
{
min = array[j];
temp = j;
}
}
temp_array = array[i];
array[i] = array[temp];
array[temp] = temp_array;
i++;
}
}
static public void radixsort(int[] array, int begin,int last, int pow) //基数排序
{
Queue<int>[] queue = new Queue<int>[]; //利用泛型队列来存储筛选分组
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
int[] nn={,,,,,,,,,};
int x, p = pow, n,i;
while (p >= )
{
for (i=begin;i<=last;i++)
{int sum=array[i];
n=pow-p;
while(n!=)
{
sum=sum/;
n--;}
sum=sum%;
switch (sum)
{case : queue[].Enqueue(array[i]);nn[]++;break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
}
} //for
x=n=;
for (i=;i<;i++)
{n=n+x;
x=nn[i];
while (nn[i]!=)
{
array[n + x - nn[i]] = queue[i].Peek();
queue[i].Dequeue();
nn[i]--;
}}
p--;} //while
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace c_sharp_sort
{
class Program
{
static void Main(string[] args)
{
int[] test7 = { , , , , , , , , , };
heapsort(test7, , ); //堆排序
foreach (int a in test7)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test6 = { , , , , , , , , , };
radixsort(test6, , , ); //基数排序(第4个参数是数组中最大数的10的最大次瞑)
foreach (int a in test6)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test0 = { , , , , , , , , , };
insertsort(test0, ); //插入排序
foreach (int a in test0)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test1 = { , ,, , , , , , , };
newinsertsort(test1, ); //折半插入排序
foreach (int a in test1)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test2 = { , ,, , , , , , , };
shellsort(test2, ); //希尔排序
foreach (int a in test2)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test3 = { , , , , , , , , , };
paopaosort(test3, ); //冒泡排序
foreach (int a in test3)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test4 = { , , , , , , , , , };
fastsort(test4, , ); //快速排序
foreach (int a in test4)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); int[] test5 = { , , , , , , , , , };
selectsort(test5, ); //选择排序
foreach (int a in test5)
Console.Write(a.ToString().PadRight());
Console.WriteLine(); Console.Read();
}
static public void heapsort(int[] array, int begin, int end) //堆排序
{
int temp, i, j, length;
for (i = (end - begin) / ; i >= begin; i--) //建初堆
{
j = i;
while (j <= (end - begin) / )
{
if (( * j + ) <= end)
{
if (array[ * j + ] > array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
else if (array[ * j + ] < array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[j];
array[j] = array[ * j + ];
array[ * j + ] = temp;
j = * j + ;
}
else
break;
}
else
{
if (array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
break;
}
}
}
for (length = end; length > begin; length--) //首尾交换
{
temp = array[length];
array[length] = array[];
array[] = temp;
j = ;
while (j < (length - begin-) / ) //调整堆
{
if (( * j + ) <= end)
{
if (array[ * j + ] > array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[ * j + ];
array[ * j + ] = array[j];
array[j] = temp;
j = * j + ;
}
else if (array[ * j + ] < array[ * j + ] && array[ * j + ] > array[j])
{
temp = array[j];
array[j] = array[ * j + ];
array[ * j + ] = temp;
j = * j + ;
}
else
break;
}
}
}
} static public void insertsort(int[] array, int length) //直接插入排序
{
int i,j,temp;
for (i = ; i < length; i++)
{
temp = array[i];
j=i-;
while (temp<array[j])
{
array[j + ] = array[j];
j = j - ;
if (j == -)
{
break;
}
}
array[j+]=temp;
}
} static public void newinsertsort(int[] array, int length) //折半插入排序
{
int low,high, i,j,temp;
for (i = ; i <length; i++)
{
temp = array[i];
low = ; high = i - ;
j= (high-low)/;
while (low<=high)
{
if (low == high)
{
if (array[] > temp)
j = ;
else
j = ;
break;
}
else if (low == high - )
{
if (array[j + ] < temp)
j += ;
else if (array[j] < temp)
j++;
break;
}
else if (array[j] < temp)
{
low = j;
j += (high - low) / ;
}
else if (array[j] > temp)
{
high = j;
j= low+(high - low) / ;
}
else
break;
}
for (int n = i- ; n >= j; n--)
array[n + ] = array[n];
array[j] = temp;
}
} static public void shellsort(int[] array, int length) //希尔排序(基于直接插入排序)
{
int i, j,k,delta=length/,temp;
while(delta!=) //delte为分组递增值
{
for (i = ; i < delta; i++)
{
for (j = i + delta; j < length; j += delta)
{
temp = array[j];
k = j - delta;
while (temp < array[k]) //对每组进行直接插入排序
{
array[k + delta] = array[k];
k = k - delta;
if (k == i - delta)
{
break;
}
}
array[k + delta] = temp;
}
j -= delta;
if (array[j] < array[i]) //2组之间首位进行交换排序
{
temp = array[j];
array[j] = array[j];
array[j] = temp;
}
}
delta /= ;
}
} static public void paopaosort(int[] array, int length) //冒泡排序
{
int i, j, temp;
j=length;
while(j!=)
{
for (i = ; i < j-; i++)
{
if (array[i]>array[i+])
{
temp=array[i];
array[i]=array[i+];
array[i+]=temp;
}
}
j--;
}
} static public void fastsort(int[] array, int begin,int end) //快速排序
{
if (begin < || end < || begin >end)
return;
int left = begin, right = end, temp; //经典的快排
temp = array[left];
while (right != left)
{
while (temp < array[right] && right>left)
right--;
if (right > left)
{
array[left] = array[right];
left++;
}
while (temp > array[left] && right > left)
left++;
if (right > left)
{
array[right] = array[left];
right--;
}
}
array[right] = temp;
fastsort(array, right + , end);
fastsort(array, begin, right-);
}
static public void selectsort(int[] array, int length) //选择排序
{
int i=, j, min,temp_array,temp;
while (i < length - )
{
min = array[i];
temp = i;
for (j = i+; j < length; j++)
{
if (array[j] < min)
{
min = array[j];
temp = j;
}
}
temp_array = array[i];
array[i] = array[temp];
array[temp] = temp_array;
i++;
}
}
static public void radixsort(int[] array, int begin,int last, int pow) //基数排序
{
Queue<int>[] queue = new Queue<int>[]; //利用泛型队列来存储筛选分组
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
queue[] = new Queue<int>();
int[] nn={,,,,,,,,,};
int x, p = pow, n,i;
while (p >= )
{
for (i=begin;i<=last;i++)
{int sum=array[i];
n=pow-p;
while(n!=)
{
sum=sum/;
n--;}
sum=sum%;
switch (sum)
{case : queue[].Enqueue(array[i]);nn[]++;break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
case : queue[].Enqueue(array[i]); nn[]++; break;
}
} //for
x=n=;
for (i=;i<;i++)
{n=n+x;
x=nn[i];
while (nn[i]!=)
{
array[n + x - nn[i]] = queue[i].Peek();
queue[i].Dequeue();
nn[i]--;
}}
p--;} //while
}
}
}

C#编写的 8种初级+高级排序方法(转)的更多相关文章

  1. Java中8种常见的排序方法

    排序方法的演示1)插入排序(直接插入排序.希尔排序)2)交换排序(冒泡排序.快速排序)3)选择排序(直接选择排序.堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少 ...

  2. php语言实现的7种基本的排序方法

    今天总结了一下常用的7种排序方法,并用php语言实现. 直接插入排序 /* * 直接插入排序,插入排序的思想是:当前插入位置之前的元素有序, * 若插入当前位置的元素比有序元素最后一个元素大,则什么也 ...

  3. Java几种常见的排序方法

    日常操作中常见的排序方法有:冒泡排序.快速排序.选择排序.插入排序.希尔排序,甚至还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.归并排序等. 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一 ...

  4. 几种常见的排序方法总结(Python)

    几种常见的排序算法总结(Python) 排序算法:是一种能将一串数据依照特定顺序进行排序的一种算法. 稳定性:稳定排序算法会让原本有相等键值的记录维持相对次序.也就是如果一个排序算法是稳定的,当有两个 ...

  5. 比较两种数组随机排序方法的效率 JavaScript版

    //比较2中数组随机排序方法的效率 JavaScript版 //randon1思路 //当len=5时候,从0-5中随机3一个放入i=0, // 从0-3随机一个2放入i=2 // 从0-2随机一个1 ...

  6. 几种常见的排序方法(C语言实现)

    #include <stdio.h> #include <stdlib.h> #include <Windows.h> //直接插入排序 void InsertSo ...

  7. C# 几种常见的排序方法

    1.冒泡排序 //冒泡排序 public void BubbleSort(int[] list) { int i, j, temp; bool done = false; j = ; while (( ...

  8. 一种比较高级的方法也可以修改windows为默认启动系统

    运行: sudo mv /etc/grub.d/30_os-prober /etc/grub.d/06_os-probersudo update-grub

  9. 【高级排序算法】1、归并排序法 - Merge Sort

    归并排序法 - Merge Sort 文章目录 归并排序法 - Merge Sort nlogn 比 n^2 快多少? 归并排序设计思想 时间.空间复杂度 归并排序图解 归并排序描述 归并排序小结 参 ...

随机推荐

  1. struts2 select标签

    headerValue : 默认值value headerKey : 默认name list : 源数据 (可以在action方法里从数据库获取list) name : 被选数据存放的位置(这里我方在 ...

  2. EasyUI Pagination 分页的两种做法

    EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...

  3. [转]我花了一个五一终于搞懂了OpenLDAP

    轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的 ...

  4. 无法执行 varchar 值到 varchar 的隐式转换,原因是,由于排序规则冲突,该值的排序规则未经解析。

    SELECT CONVERT(VARCHAR(100), 列名) FROM Table 提示错误: 无法执行 varchar 值到 varchar 的隐式转换,原因是,由于排序规则冲突,该值的排序规则 ...

  5. NYOJ-712 探寻宝藏(第六届河南省程序设计大赛)

    探 寻 宝 藏 时间限制:1000 ms  |  内存限制:65535 KB 难度:5   描述 传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物.某天,Dr.Kong找到了迷宫的地图,他发现迷宫 ...

  6. 解决IP地址冲突

    1.重新启动路由器就可以. 要是网络上的每一个设备都被分配了动态IP地址,路由器重新启动.又一次分配IP地址给网络上的每一个设备后,这个问题就有望得到解决. 可是假设是在企业内就不可能随便的重新启动公 ...

  7. 【PAT Advanced Level】1013. Battle Over Cities (25)

    这题给定了一个图,我用DFS的思想,来求出在图中去掉某个点后还剩几个相互独立的区域(连通子图). 在DFS中,每遇到一个未访问的点,则对他进行深搜,把它能访问到的所有点标记为已访问.一共进行了多少次这 ...

  8. ListView 设置列对齐方式

    <ListView.Resources> <Style TargetType="ListViewItem"> <Setter Property=&qu ...

  9. 微信小程序开发及相关设置小结

    今年过年,主要看了<奇葩说>和<电锯惊魂>,很不错,好东西的确需要留出足够的时间来看,匆匆忙忙走马观花是对作者的不尊重.除此之外,就是研究了一下微信小程序开发,先说对小程序的看 ...

  10. [jQuery] $.map, $.each, detach() , $.getJSOIN()

    $.map function will return the modifies array. $.each function will not new a new array, the old val ...