几种常用排序算法(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");
}
<%
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");
}
相关文章推荐
- asp下几种常用排序算法
- C#几种常用的排序算法:
- C#几种常用的排序算法:
- asp下几种常用排序算法
- C#中常用的几种排序算法
- 几种常用排序算法的c#实现(冒泡、选择、插入)
- C#几种常用的排序算法
- C#几种常用的排序算法
- C#几种常用的排序算法
- C#中常用的几种读取XML文件的方法
- 用java编写几种常用的排序算法
- C++ 几种常用排序算法讲解
- C#-分享几种常用的编码转换,base64、MD5、string
- C# ASP.NET 最常用的通用权限的3个方法例子展示(每个功能一行代码实现)
- 用Java实现几种常用的排序算法
- ASP.NET(C#)常用数据加密和解密方法1
- 常用的几种OCR方法/组件小结(C#)
- ASP.net和C#常用代码收集(不断添加ing)
- ASP.NET(C#)常用代码30例
- asp.net(C#) 常用算法(一)