选择排序法代码

选择排序法怎么写(写出选择排序法的过程)

1.写出选择排序法的过程

template <class T>

class List

{ protected:

int count;

T entry[maxList];

public:

List(int size)

{ count=size; }

void input()

{ for(int i=0; i<count; i++)

cin>>entry[i];

}

void output()

{ for(int i=0; i<count; i++)

cout<<entry[i]<<" ";

}

//other function members

};

template <class T>

class Sortable_list: public List<T>

{ public:

Sortable_list(int size):List<T>(size){ }

void shell_sort();

void straight_selection_sort();

void insertion_sort();

private:

int max_key(int low, int high);

void sort_interval(int start, int increment);

};

template <class T>

int Sortable_list<T> :: max_key(int low, int high)

{ int k=low;

for(int j=low+1; j<=high; j++)

if ( entry[k]<entry[j] )

k=j;

return k;

}

template <class T>

void Sortable_list<T> :: straight_selection_sort()

{ T temp;

int k;

for(int i=count-1; i>=1; i--)

{ k=max_key(0,i);

if ( k!=i )

{ temp=entry[i];

entry[i]=entry[k];

entry[k]=temp;

}

}

}

这里我给出了一部分程序代码,后半部分就是选择排序算法,过程就是由这个算法实现

2.选择排序法

这是冒泡法吧粘些资料给你:冒泡排序和选择排序是排序算法中比较简单和容易实现的算法。

冒泡排序的思想为:每一次排序过程,通过相邻元素的交换,将当前没有排好序中的最大(小)移到数组的最右(左)端。而选择排序的思想也很直观:每一次排序过程,我们获取当前没有排好序中的最大(小)的元素和数组最右(左)端的元素交换,循环这个过程即可实现对整个数组排序。

还有“ 。

3.C语言中的选择排序法是什么

选择排序(Selection sort)是一种简单直观的排序算法。工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

以下是一个实现选择排序的例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

#define SWAP(x, y, t) ((t) = (x), (x) = (y), (y) = (t))

//将list中的n个数据,通过选择排序算法排序。

voidselete_sort(intlist[], intn)

{

inti, j, min, temp;

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

min = i;

for(j = i + 1; j < n; j++)//找出最小元素的下标。

if(list[j] < list[min])

min = j;

SWAP(list[i], list[min], temp);//交换最小元素到当前起始位置。

}

}

4.C语言的选择排序法应该怎么用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include <stdio.h>

voidmain()

{

inti,j,a[3],tmp;

printf("请输入3个数(用空格隔开):");

for(i=0;i<3;i++)

scanf("%d",&a[i]);

for(i=0;i<2;i++)

for(j=i+1;j<3;j++)

if(a[i]>a[j]){

tmp=a[i];

a[i]=a[j];

a[j]=tmp;

}

for(i=0;i<3;i++)

printf("%d ",a[i]);

printf("\n");

}

满意请采纳!

5.c语言中选择排序法的程序怎么编

第一个输入是数据总数

下面是每个数据分别输入

#include <stdio.h>

#include <stdlib.h>

#define MAX 50000

int AA[MAX],n;

void getdata(){

int i;

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%d",&AA[i]);

}

void putdata(){

int i;

for(i=0;i<n;i++)

printf("%d ",AA[i]);

}

int partion(int t, int p ,int q){

int tem,i,j,v;

i=p;

j=q;

v=AA[t];

while(1){

while(AA[i]<=v && i<=q)

++i;

while(AA[j]>v && j>=p)

--j;

if(i>j)

break;

tem=AA[i];

AA[i]=AA[j];

AA[j]=tem;

}

AA[t]=AA[j];

AA[j]=v;

return j;

}

void partionsort(int p,int q){

int j;

if(p<q){

j=partion(p,p+1,q);

partionsort(p,j-1);

partionsort(j+1,q);

}

}

int main(int argc, char *argv[])

{

getdata();

partionsort(0,n-1);

putdata();

return 0;

}

6.选择排序法:从小到大排列10个数并输出

/*选择排序法:从小到大排列10个数并输出*/

#include<stdio.h>

#define N 10

void main()

{

int i,a[N],t,j;

for(i=0;i<N;i++) scanf("%d",&a[i]);

for ( i = 0; i < 9; i ++ )

for ( j = i + 1; j < 10; j ++)

if ( a[ i ] < a[ j ] )

{

t = a[ i ];

a[ i ] = a[ j ];

a[ j ] = t; }

printf("排序后:\n");

for(i=0;i<N;i++) printf("%d ",a[i]);

printf("\n");

}

7.c语言用指针写选择排序法

你的程序没错,只不过这不是选择法,是冒泡发,选择发如下:

void sort(int *a,int n)

{

int i,j,t,temp;

for(i=0;i{

t=i;/初始定义t为未排序数的第一个

for(j=i+1;j{

if(*(a+t)t=j;

}

temp=*(a+i); /t是最大的那个数的位置,把他和未排序的第一个交换位置

*(a+i)=*(a+t);

*(a+t)=temp;

}

}

main()

{

int i,a[10],*p=a;

printf("input zhe array a:\n");

for(i=0;iscanf("%d",p++);

printf("\n");

p=a;

sort(p,10);

p=a;

printf("zhe sort array is:\n");

for(i=0;iprintf("%d,",a[i]);

getch();

}

选择排序法怎么写

转载请注明出处育才学习网 » 选择排序法代码

知识

罗梅芬用日文怎么写(罗钰潇日语怎么写)

阅读(21434)

本文主要为您介绍罗梅芬用日文怎么写,内容包括伊蕾娜日语怎么写,王雪菲用日文怎么说,张佳怡在日语中怎么写啊怎么读啊。罗 ら ラ ra钰 ぎょく ギョク gyoku潇 しょう シヨウ shou第一列:日语汉字,写法同汉字,都要用繁体,这三个都挺难写的,看

知识

邓先生的英文怎么写(1~40的英文怎么说)

阅读(10451)

本文主要为您介绍邓先生的英文怎么写,内容包括“邓先生”用英语怎么写,1~40的英文怎么说,漂亮英文beautiful缩写怎么写。1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 8 nine 10 te

知识

一个人布满皱纹怎么写(描写人物皱纹的句子)

阅读(9530)

本文主要为您介绍一个人布满皱纹怎么写,内容包括描写人物皱纹的句子,描写人物皱纹的句子,皱纹怎么描写。、老人脸上布满了皱纹,那一条条曲折不均的像是墙上斑驳的印迹,爬满了面容,留下了岁月的痕迹。2、外祖父是一位年过六旬的白发老人。在他

知识

登录接口怎么写(php登录的接口怎么写)

阅读(7771)

本文主要为您介绍登录接口怎么写,内容包括php登录的接口怎么写,网页登陆接口怎么做,网站登录接口程序怎么做。PHP 接口 接口 使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。我们可以通过int

知识

档案奖惩情况怎么写(奖惩情况怎么写)

阅读(9609)

本文主要为您介绍档案奖惩情况怎么写,内容包括奖惩情况怎么写,个人简历及奖惩情况怎么填写,个人简历里面奖惩情况怎么写。在简历里的“奖励”部分,列出与你所获得的并与你的求职目标相关的荣誉、奖励和奖金。你既可以按时间顺序排列,也可以按

知识

头孢克肟拼音怎么写(头孢克肟的肟念什么)

阅读(8013)

本文主要为您介绍头孢克肟拼音怎么写,内容包括头孢克肟片全名拼音,头孢克肟片全名拼音,头孢克肟的肟念什么。肟[wò] :是含有羰基的醛、酮类化合物与羟胺作用而生成的有机化合物,可以参与许多有机化学反应,例如经典的Beckmann重排就是肟为底

知识

一库搜用日语怎么写(日语一库是什么意思)

阅读(8009)

本文主要为您介绍一库搜用日语怎么写,内容包括日语大神来,看动漫里的主人公说一句:恰,一库搜这是什么意思,一库一库;一搜库这两个日语是什么意思怎么写,看片都有“一库”(日语)是什么意。一库的意思就是“出发,出去”的意思。日语「行く」的音译

知识

外租无人机广告怎么写(植保无人机广告语)

阅读(7009)

本文主要为您介绍外租无人机广告怎么写,内容包括求一个无人机创意广告词谢谢巨友们了,求一关于无人机的广告标语,求一关于无人机的广告标语我们公司是做无人机的,新成立的公司,求。DJI大疆创新研发的的MG-1农业植保机专为农村作业环境设计,

知识

河南话que怎么写(河南话的nenna怎么写)

阅读(6541)

本文主要为您介绍河南话que怎么写,内容包括que怎么写,河南话的nenna怎么写,que怎么写。尿一壶(niào yī hú)关系密切,观点一致。例:“他俩今天尿一壶啦。”●尿(niào)⑴、从尿道排泄的液体。⑵、排泄小便。⑶、不放

知识

国学经文的论文怎么写(国学征文该怎么写)

阅读(7125)

本文主要为您介绍国学经文的论文怎么写,内容包括国学征文该怎么写,弟子规的400论文,关于国学经典的征文怎么写。“子曰:“温故而知新,可以为师”……小时,总是觉得国学就是没用的,古人写的话,我们还需要背,每次老师教给我们时,我总是会让思想开一

知识

化学实验总结怎么写(化学实验报告小结怎么写)

阅读(5406)

本文主要为您介绍化学实验总结怎么写,内容包括化学实验总结怎么写,化学实验报告小结怎么写,化学实验小结怎么写。化学实验报告的书写: 一般情况下化学实验报告是根据实验步骤和顺序从七方面展开来写的: 1.实验目的:即本次实验所要达到的目标或

知识

蝴蝶豌豆拼音怎么写(豌豆的拼音是什么)

阅读(5836)

本文主要为您介绍蝴蝶豌豆拼音怎么写,内容包括蝴蝶怎么拼音的,豌豆的拼音是什么,蝴蝶的拼音是什么。豌豆的拼音是[wān dòu]。豌豆是豆科一年生攀援草本,高0.5-2米。全株绿色,光滑无毛,被粉霜。叶具小叶4-6片,托叶心形,下缘具

知识

海绵宝宝用英文怎么说(海绵宝宝用英文怎么说)

阅读(6521)

本文主要为您介绍海绵宝宝用英文怎么说,内容包括海绵宝宝用英语怎么说,海绵宝宝用英文怎么说,海绵宝宝英文名是什么。1. SPONGEBOB SQUAREPANTS 近期很夯的一步卡通影片《海绵宝宝》(SpongeBob SquarePants)是一系

知识

茶盏怎么用(茶盏在茶道中干嘛用)

阅读(5429)

本文主要为您介绍茶盏怎么用,内容包括茶盏怎么用我要写一篇200字左右的茶盏的使用说明,求指教,茶盏在茶道中干嘛用,问一下斗笠盏如何使用现在是不是很少有人使用它,它的意义。苏东坡的名句"从来佳茗似佳人",典型地代表了唐宋及以后的文人墨客,

知识

thinkpad小红点怎么用(怎么学习使用thinkpad小红点)

阅读(7595)

本文主要为您介绍thinkpad小红点怎么用,内容包括怎么学习使用thinkpad小红点,thinkpad小红点怎么用,求教:THINKPAD的小红点使用方法。Thinkpad 小红点最高效的使用方法为:左手拇指按左键,无操作时在左键待命2、右手拇指按右键,同时兼按空格键及