好久没写博客了,这两天也因为期末考试要考六级还有该死的眼睛意外各种事烦的没那么多心思去好好看js,表示甚是惭愧。c语言没好好学的我,连那些排序算法都不太清楚,今天晚上就看了看书,写个简单的三种排序,虽然很水。。。我就直接写代码吧。。。毕竟语言组织能力太差。。坑人。。。
冒泡排序
var arr = [1,43,54,64,23,55,74,32];
var i;
var j;
var temp;
for( i=0 ; i<arr.length ; i++)
{
for( j=0 ; j<arr.length-i-1 ; j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(i=0;i<arr.length;i++){
document.write(arr[i]+"\n");
}
简单选择排序
var arr = [13,23,35,76,43,25];
var i;
var j;
var k;
var temp;
for(i = 0;i < arr.length;i++)
{
for(j=i;j<arr.length;j++)
{
k=i;
if (arr[k]>arr[j]) {
temp=arr[k];
arr[k]=arr[j];
arr[j]=temp;
}
}
}
document.write(arr);
快速排序
var arr = [13,23,35,76,43,25];
var low;
var high;
var i;
var j;
var Sort= function(arr,low,high){
var x = arr[low];
i = low;
j = high;
while (i < j){
while (i < j && arr[j] >= x){
j--;
}
if (arr[j] < x){
arr[i] = arr[j];
i++;
}
while (i < j && arr[i] < x){
i++;
}
if (arr[i] >= x){
arr[j] = arr[i];
j--;
}
}
arr[i] = x;
return i;
};
var pass = function(arr,low,high){
var mid;
if (high > low) {
mid = Sort(arr, low, high);
pass(arr, low, mid - 1);
pass(arr, mid + 1, high);
}
};
pass(arr, 0, arr.length-1);
document.write(arr);
and我就想说为啥当时不知道好好学c好好学算法呢,真是。。。