程式**:
view plain
copy to clipboard
print?
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace c_sharp_sort
; heapsort(test7, 0, 9); //堆排序
foreach (int a in test7)
console.write(a.tostring().padright(4));
console.writeline();
int test6 = ;
radixsort(test6, 0, 9, 2); //基數排序(第4個引數是陣列中最大數的10的最大次瞑)
foreach (int a in test6)
console.write(a.tostring().padright(4));
console.writeline();
int test0 = ;
insertsort(test0, 10); //插入排序
foreach (int a in test0)
console.write(a.tostring().padright(4));
console.writeline();
int test1 = ;
newinsertsort(test1, 10); //折半插入排序
foreach (int a in test1)
console.write(a.tostring().padright(4));
console.writeline();
int test2 = ;
shellsort(test2, 10); //希爾排序
foreach (int a in test2)
console.write(a.tostring().padright(4));
console.writeline();
int test3 = ;
paopaosort(test3, 10); //氣泡排序
foreach (int a in test3)
console.write(a.tostring().padright(4));
console.writeline();
int test4 = ;
fastsort(test4, 0, 9); //快速排序
foreach (int a in test4)
console.write(a.tostring().padright(4));
console.writeline();
int test5 = ;
selectsort(test5, 10); //選擇排序
foreach (int a in test5)
console.write(a.tostring().padright(4));
console.writeline();
console.read();
} static
public
void heapsort(int array, int begin, int end) //堆排序
else
if (array[2 * j + 1] < array[2 * j + 2] && array[2 * j + 2] > array[j])
else
break;
} else
break;
} }
} for (length = end; length > begin; length--) //首尾交換
else
if (array[2 * j + 1] < array[2 * j + 2] && array[2 * j + 2] > array[j])
else
break;
} }
} }
static
public
void insertsort(int array, int length) //直接插入排序
} array[j+1]=temp;
} }
static
public
void newinsertsort(int array, int length) //折半插入排序
else
if (low == high - 1)
else
if (array[j] < temp)
else
if (array[j] > temp)
else
break;
} for (int n = i-1 ; n >= j; n--)
array[n + 1] = array[n];
array[j] = temp;
} }
static
public
void shellsort(int array, int length) //希爾排序(基於直接插入排序)
} array[k + delta] = temp;
} j -= delta;
if (array[j] < array[i]) //2組之間首位進行交換排序
} delta /= 2;
} }
static
public
void paopaosort(int array, int length) //氣泡排序
} j--;
} }
static
public
void fastsort(int array, int begin,int end) //快速排序
while (temp > array[left] && right > left)
left++;
if (right > left)
} array[right] = temp;
fastsort(array, right + 1, end);
fastsort(array, begin, right-1);
} static
public
void selectsort(int array, int length) //選擇排序
} 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) //基數排序
; int x, p = pow, n,i;
while (p >= 0)
sum=sum%10;
switch (sum)
} //for
x=n=0;
for (i=0;i<10;i++)
}
p--;} //while
} }
}
8種php基本排序實現方法
許多人都說演算法是程式的核心,演算法的好壞決定了程式的質量。因此對於基本的排序演算法還是應該掌握的,它是程式開發的必備工具。這裡介紹氣泡排序,插入排序,選擇排序,快速排序等等演算法,分析一下演算法的思路。1.氣泡排序 思路分析 在要排序的一組數中,對當前還未排好的序列,從前往後對相鄰的兩個數依次進行...
8種排序其中的五種
時間久了就忘了,把以前的 拿出來整理一下 插入排序 直接插入排序 straight insertion sort 結構圖 system.out.println 初始值 obj.print a obj.insertsort a system.out.println n排序後 obj.print a p...
C 語言下編寫的簡單排序方法 桶排序
桶排序思想較為簡單,是最簡單的一種排序方法,其好處在於容易處理簡單的排序,壞處在於對數值較大的排序的話對陣列空間要求大,例如對5個0 1000之間的數排序,只需要迴圈讀入五個數,定義乙個book 1001 的陣列,先將book陣列迴圈置為0,然後讀到數n,則book n 最後利用雙重迴圈將資料輸出即...