您的位置:首页 > 编程语言 > ASP

几种常用排序算法(asp.c#.c)

2006-10-18 15:12 260 查看
asp:

<%

Dim aData
aData = Array(3,2,4,15,6,0)

Call ResponseArray(aData, "原来顺序")
Call ResponseArray(SelectSort(aData), "选择排序")
Call ResponseArray(QuickSort(aData), "快速排序")
Call ResponseArray(InsertSort(aData), "插入排序")
Call ResponseArray(BubbleSort(aData), "冒泡排序")

'选择排序
Function SelectSort(a_Data)
Dim i, j, k
Dim bound, t
bound = UBound(a_Data)

For i = 0 To bound-1
k = i
For j = i+1 To bound
If CLng(a_Data(k)) > CLng(a_Data(j)) Then
k = j
End If
Next
t = a_Data(i)
a_Data(i) = a_Data(k)
a_Data(k) = t
Next

SelectSort = a_Data
End Function

'快速排序
Function QuickSort(a_Data)
Dim i, j
Dim bound, t
bound = UBound(a_Data)

For i = 0 To bound-1
For j = i+1 To bound
If CLng(a_Data(i)) > CLng(a_Data(j)) Then
t = a_Data(i)
a_Data(i) = a_Data(j)
a_Data(j) = t
End If
Next
Next

QuickSort = a_Data
End Function

'冒泡排序
Function BubbleSort(a_Data)
Dim bound
bound = UBound(a_Data)
Dim bSorted, i, t
bSorted = False

Do While bound > 0 And bSorted = False

bSorted = True
For i = 0 To bound-1
If CLng(a_Data(i)) > CLng(a_Data(i+1)) Then
t = a_Data(i)
a_Data(i) = a_Data(i+1)
a_Data(i+1) = t
bSorted = False
End If
Next
bound = bound - 1
Loop

BubbleSort = a_Data
End Function

'插入排序
Function InsertSort(a_Data)
Dim bound
bound = UBound(a_Data)
Dim i, j, t

For i = 1 To bound
t = a_Data(i)
j = i
Do While CLng(t)<CLng(a_Data(j-1)) And j>0
a_Data(j) = a_Data(j-1)
j = j - 1
Loop
a_Data(j) = t
Next

InsertSort = a_Data
End Function

'输出数组
Sub ResponseArray(a_Data, str)
Dim s
s = ""
Response.Write "<b>" & str & ":</b>"
For i = 0 To UBound(a_Data)
s = s & a_Data(i) & ","
Next
s = Left(s, Len(s)-1)
Response.Write s
Response.Write "<hr>"
End Sub

%>

c#:

1using System;
2using System.Collections;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Web;
7using System.Web.SessionState;
8using System.Web.UI;
9using System.Web.UI.WebControls;
10using System.Web.UI.HtmlControls;
11
12namespace suanfa
13

c:

/*
排序
*/
#include "stdio.h"
#include "conio.h"

#define N 5

main()
{
int a
={2,4,3,2,1};

output("original:",a);

insertSort(a);
selectSort(a);
quickSort(a);
bubbleSort(a);

getch();
}

bubbleSort(int a[])
{
int t;
int i,j;
int isOver=0;

i=N-1;
while(i>0 && !isOver)
{
isOver=1;
for(j=0;j<i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
isOver=0;
}
i--;
}
output("bubble sort:",a);
}

quickSort(int a[])
{
int t;
int i,j;

for(i=0;i<N-1;i++)
{
for(j=i+1;j<N;j++)
{
if(a[j]<a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
output("quick sort:",a);
}

selectSort(int a[])
{
int t;
int i,j,k;

for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
{
if(a[j]<a[k])
{
k=j;
}
}
t=a[i];
a[i]=a[k];
a[k]=t;
}
output("select sort:",a);
}

insertSort(int a[])
{
int t;
int i,j;

for(i=1;i<N;i++)
{
t=a[i];
j=i;
while(j>0 && t<a[j-1])
{
a[j]=a[j-1];
j--;
}
a[j]=t;
}

output("insert sort:",a);
}

output(char s[],int a[])
{
int i;
printf("\n%s ",s);
for(i=0;i<N;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: