⺣ - רҵ·ĵϷƽ̨

ǰλãҳ > 数据结构课程设计报告---几种排序算法的演?附源代码) - 百度文库

数据结构课程设计报告---几种排序算法的演?附源代码) - 百度文库

  • 62 Ķ
  • 3
  • 2025/12/3 5:54:21

һλãҵλúͽarr[i-1]룬arr[0],arr[1],,arr[n-1]

α

template //ֱӲ void sortlist::insertionsort() {

type temp; int j;

for(int i=1;i<=currentsize-1;i++) {

temp=arr[i];j=i-1;

while(j>=0&&temp

cout<<\\<<++num<<\Ϊ:\; for(int t=0;t

num=0; }

<3>۰

۰Ļ˼룺nԪarr[0],arr[1],,arr[n-1]Уarr[0],arr[1],,arr[n-1]ѾźIJԪУڲarr[i]ʱ۰ҷѰarr[i]IJλá۰򷽷ֻ˳洢ṹʵ֡ α£

template //۰ void sortlist::binaryinsertsort() {

type temp;

int left,right;

for(int i=1;i

left=0;right=i-1;temp=arr[i]; while(left<=right)//Ҳλ {

int mid=(left+right)/2;

if(temp

for(int k=i-1;k>=left;k--)//ƶ arr[k+1]=arr[k];

arr[left]=temp;

cout<<\\<<++num<<\Ϊ:\; for(int t=0;t

num=0; }

<4>ð

ðĻ˼ǣnԪءȶеһԪصĹؼarr[0]arr[1]бȽϡǰߴںߣнȻԵڶͬĴظ˹ֱڵԪءdz֮ΪһðݣؼԪƵһλãԪһҲλƶȻеڶ򣬶ǰn-1ԪؽͬIJʹйؼִδԪرƵarr[n-2]λán-1ðݾܰԪź α£

template //ð void sortlist:: bubblesort() {

int i=1;

int finish=0;//0ʾûź while(i

finish=1;//־Ϊ,ٶѾź for(int j=0;jarr[j+1])// {

swap(arr[j],arr[j+1]);//Ԫؽλ finish=0;

}//־Ϊ,ʾ˷˽˵ûź i++;

cout<<\\<<++num<<\Ϊ:\; for(int t=0;t

num=0; }

<5>ѡֱѡ

ֱѡ㷨˼ǣ a)ʼʱiijʼֵΪ0

b)i

c)arr[k]ԪеĵһԪأikarr[k]arr[i]ԪصλöԵ d)i=i+1ת b)

α£

template

void sortlist::selectsort()//ѡ {

int k;

for(int i=0;i<=currentsize-1;i++) {

k=i;

for(int j=i+1;j

k=j;//k ָʾǰСߵλ if(k!=i)//СؼֵԪλòi swap(arr[i],arr[k]);

cout<<\\<<++num<<\Ϊ:\; for(int t=0;t

num=0; }

<6>

Quick Sortֱһƽܷdzõ򷽷 㷨˼ǣȡеijԪ(ȡһԪ)Ϊ׼ոԪصĹؼִСΪӱ ӱԪصĹؼֶСڻ׼ԪصĹؼ֡ҲӱԪصĹؼֶڻڻ׼ԪصĹؼ֣׼Ԫӱм(ҲǸԪӦŵλ)ȻֱӱظʩĿֱеӱΪ1

α£

template //

void sortlist::quicksort(int low,int high)//ڴ[low,high]ϣݹؽп {

int i=low,j=high;

type temp=arr[low];//ȡһλΪ׼λ if(i

{

while(i

while(i

if(i=arr[i])i++;

if(i

}

arr[i]=temp;//׼Ԫؾλ

cout<<\\<<++x<<\Ϊ:\; for(int t=0;t

quicksort(low,i-1);//ݹп quicksort(i+1,high);//ݹп } }

<7>򣨰ѺͶ̣ 㷨Ļ˼ǣ

a.еԪأöѵĵ㷨γɳʼѡ b.ѶԪء

c.ʣԪµγɶѡ

d.ظִеbcֱԪر

(1)ѵα£

template //

void sortlist::filterdown(const int start)

{//µʹstartʼcurrentsize-1ΪֹӱΪ int i=start,j=2*i+1;//jΪi int tablesize=currentsize; type temp=arr[i];

while(j<=currentsize-1) {

if(j=arr[j])break;

else{arr[i]=arr[j];i=j;j=2*j+1; } }

arr[i]=temp; }

  • ղ
  • Υٱ
  • Ȩ
ĵ10.00 Ԫ VIP
ߣ...

92ƪĵ

ĵ飺

һλãҵλúͽarr[i-1]룬arr[0],arr[1],,arr[n-1] α template //ֱӲ void sortlist::insertionsort() { type temp; int j; for(int i=1;i<=currentsize-1;i++) { temp=arr[i];j=i-1; while(j>=0&&temp

οͿͨغɸƺŰ棩
ƪ
ʱؼۣ10 Ԫ/ ԭ:20Ԫ
VIP
ؼۣ29 Ԫ/ ԭ:99Ԫ
0.3 Ԫ/ ÿ150
ȫվɸ
VIP
ؼۣ29 Ԫ/ ԭ:99Ԫ
0.3 Ԫ/ ÿ150
ȫվɸ
עĵпܡֻĿ¼ݲȫ֮ǰעѸ޷ػ⣬ϵЭ㴦
΢ţfanwen365 QQ370150219
Copyright © ⺣ All Rights Reserved. ICP16052595-3 վͼ ͷQQ370150219 䣺370150219@qq.com