冒泡排序和快速排序
实验报告
化学实验报告单总流体力学实验报告观察种子结构实验报告观察种子结构实验报告单观察种子的结构实验报告单
_免费下载
实实实告
实实名 称 实实 六 冒泡排序和快速排序
班 实
学号
姓 名
成 实 实实述, 概
【实实目的及要求】
通实实程程序到熟悉掌握材中所介实的实排序方法。达并教几实实目的,
实实要求,
1,机实生随20位整数
2,实入序列~实程序~按下列排序方法序列小到大排序实出。写将从并
1.冒泡排序
2.快速排序
3,实实每实方法比实次和移实次数数
4,机实生随2000位整~重做实实数2,~比实实算法需要的实算实实。两
【实实原理】
随机实生20位整数,1
机的实生实实实一。实立一实~实生的机存入实。随数个数将随数数
2,冒泡排序
实于实排序的实数L;n,~使用冒泡排序的算法如下,
实入,实数L;n,;无序,
实出,实数L;n,;有序,
f=1
While (f>0) Do
{k=f+1; f=0;
For j=n To k Step -1
{ If L(j-1)>L(j) Then
{ T=L(j); L(j)=L(j+1); L(j+1)=T; f=j; }
}
}
3,快速排序
实于实排序的实数;n,~使用快速排序的算法如下,P
实入,待排序的子表,。P(mn)
实出,有序子表,。P(mn)
~~PROCEDURE QKSORT1(Pmn)
,子表不空IF (nm) THEN []
{
~~~~ 分割SPLIT(Pmni)[]
~~,~实前面子表实行快速排序 QKSORT1(Pmi1)[]
~,~~实后面子表实行快速排序 QKSORT1(pi1n)[]
}
RETURN
4,实实每实方法比实次和移实次数数
实实量X~Y~实实上面算法比实和移实的次。数
5,实于实算实实的比实
使用GetTickCount实实算法使用实实~具算法如下,来体
DWORD start_time;
DWORD end_time;
DWORD run_time;
start_time = GetTickCount();
算法;,;
end_time = GetTickCount();
run_time = end_time - start_time;【实实实境】;使用的实硬件,
1,硬件,实本笔。
2,实件,Window XP、Turbo C 3.0
实实容,内
【实实方案实实】
冒泡法排序的程序如下,
#include
#include
#define N 20
int comp=0,move=0;
main()
{long m=65536;long y=0;int x[N],i=0,j,temp;printf("\nmao pao fa pai xu:\n");printf("zui chu chan sheng de sui ji shu:\n");
for(;ij;i--)
{comp++;
if(x[i-1]>x[i])
{temp=x[i];x[i]=x[i-1];x[i-1]=temp;move++;}}printf("\npai hao hou de sui ji shu:\n");for(i=0;i
#include
#include
#define N 20
int comp=0,move=0;
main()
{
void kuaisu(int x[],int left,int right);long m=65536;
long y=0;
int x[N],i=0,j,temp,left=0,right=N-1;printf("\nkuai su fa pai xu:\n");printf("zui chu chan sheng de sui ji shu ru xia:\n");
for(;iright)
{
return;
}
while(i!=j)
{
comp++;
while(x[j]>=temp && j>i)
{
j--;
}
if(j>i)
{
x[i++]=x[j];
move++;
}
while(x[i]<=temp && j>i)
{
i++;
}
if(j>i)
{
x[j--]=x[i];
}
}
x[i]=temp;
kuaisu(x,left,i-1);
kuaisu(x,i+1,right);}
实实实程;实实步实、据、分析,数【】
实实步实,
1,机实生随20位整数
2,实入序列~实程序~按下列排序方法序列小到大排序实出。写将从并
1.冒泡排序
2.快速排序
3,实实每实方法比实次和移实次数数
实实实果分析,
根据冒泡法和快速法实出地移实次和比实次可以看出~快速法的移实次数数数和比实次要比冒泡法少实多。因此~快速法是一实比冒泡法更好的排序法。数
【实实】;实果,
冒泡法排序的实果的截实,
快速法排序的实果的截实,
【小实】
由于大一下期实学学C实言实~冒泡法和快速法都是重点容~实次实实实行的比内
实实利~有遇到太多困实。只是实实始不知道实实出比实次和移实次~后定实了没怎数数来
两个决个另怎全程实量~解了实实实。外~实然实实实明上有实实出实实的实句~但是实实了实多
次实是有成功。先是提示实量实型实实~然后提示有没没GetTickCount()函。最后只数
好有实出实实~也有比实实方法的行实实没没两运
指实实实实及成实,教
成实, 指实实实名,教
批实日期,