1. 首页 > 智能数码 >

选择排序c语言_选择排序c语言程序

c语言选择法排序10个数

}printf("\n\n");

c语言选择法10个数排序方法如下:

选择排序c语言_选择排序c语言程序选择排序c语言_选择排序c语言程序


选择排序c语言_选择排序c语言程序


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

电脑:联想拯救者y7000p

系统:windows1122454.1000

软件:CodeBlocks17.12

1、首先打开编辑软件,新建一个c程序空文件,引入标准库和主函数,定义一个QuickSort函数用来排序。

2、这里用i和j两个变量分割数据,然后一部分的所有数据都比另外一部分的所有数据都要小,接着对这两部分数据分别进行比较排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

3、接着编写主函数,主函数中定义一个数组,然后用scanf接受数组,用户输入10个数以后,会将数存在数组array中,然后调用上面处理排序的函数,函数的输入就是刚才输入的数,在把排序的结果输出即可。

C语言介绍

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性。

以一个标准规格写出的C语言程序可在包括类似嵌入式处理器,以及超级计算机等作业平台的许多计算机平台上进行编译。选择法是C语言中关于数组元素处理的一种重要方法,利用选择法我们可以从数组中筛选出最小项,可以对数组元素进行重排序,对数组元素的处理是在之后处理结构体内数据的一个基础。

求 c语言选择排序法和 冒泡排序法代码!

printf("请输入数组元素(元素之间采用空格间隔,如:1 2 3enter):\n");

选择排序:

void select_sort(int a[],int n) //传入数组的要排序的元素个数

{int i,j,min,t;

for(i=0;i

{ min=i; //min:当前最小值下标

for(j=i+1;j

if(a[min]>a[j]) //若有其它元素更小,就记录其下标

min=j;

if(min!=i) //保若最小值不在排序区首位,就换到首位

{t=a[min]; a[min]=a[i]; a[i]=t;}

}}

冒泡排序:

void bubble_sort(int a[], int n) //传入数组的要排序的元素个数

{ int i, j, t;

for (j=0; j

for (i= 0; i

if(a[i]>a[i+1]) //若大小顺序不符,就交换

{t=a[i]; a[i]=a[i+1]; a[i+1]=t;

}

#include

#include

void swap(int a,int b)

{int temp;

temp=a;

a=b;

b=temp;

}main()

int m;

printf("\n\n_冒泡排序_");

printf("\n请输入数组的下标m:\n");

scanf("%d",&m);

int i,a[m];

printf("请输入数组数据:\n");

for (i=0;i

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

int s,b;

for (s=0;s

{for (b=0;b

{if(a[b]>a[b+1])

{int p,q;

p=&a[b];

swap(p,q);

// printf("\na10\n=%d",a[1][0]);

// printf("a[%d][%d]=%da[%d][%d]=%d\n",s,b,p,s,b+1,q);

}}

}printf("The result is:\n");

for (b=0;b

{printf("%4d",a[b]);

// printf("\n\n%d",a[1][3]);

}("pause");

("cls");

}个人编写,望采纳

int a[10],i,j,k,temp;

选择法:

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

{ k=i;

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

if(a[k]

temp=a[i];a[i]=a[k];a[k]=temp;

}冒泡法:

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

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

if(a[j]>a[j+1])

{temp=a[j];a[j]=a[j+1];a[j+1]=temp;

}

冒泡法

#include

#include

#include

#include

int main(void)

{int f[100],i,m,j,n,c,p,t;

for(t=0;tfor(j = i+1; j < m ; j++)<100;t++)

f[t]=rand() % 1000;

for(j=1;j<100;j++)

{c=0;

for(i=0;i<100-j;i++)

{if(f[i]>f[i+1])

m=f[i],f[i]=f[i+1],f[i+1]=m,c++;

}if(c==0)

break;

}for(n=0;n<100;n++)

{printf("%-4d ",f[n]);

if((n+1)%10==0)

}return 0;

}

int a[10],t,i;

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

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

{t=a[i+1];

a[i+1]=a[i];

a[i]=t;

}}

从小到大排序

c语言怎样通过函数调用实现选择排序法

a[i] = a[k];

#include//冒泡排序

main()

{int a[10],i,j,t;

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

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

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

if(a[j]

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}}

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

}

c语言——选择排序

{while(1){

递归版

#include

#include

#define arrSize 1000

void RecurSelectSort(int a[], int n, int i);

main()

{int a[arrSize], i, n;

printf("Please input the number of integers:"); / 打印提示信息 /

scanf("%d", &n); / 读取字符串长度 /

printf("Please input the integers:"); / 打印提示信息 /

/ 读取数组元素 /

for(i=0;i

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

}/ 进行升序函数调用 /

for(i=0;i

RecurSelectSortq=&a[b+1];(a, n, i);

}/ 打印数组元素 /

for(i=0;i

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

}printf("\n"); / 换行 /

("pause");

}void RecurSelectSort(int a[], int n, int i)

{int b, max;

if(n==1){

if(a[n-1]>a[n]){

max=a[n-1];

a[n-1]=a[n];

a[n]=max;

}}

else{

if(a[n-2]>a[n-1] && n>2){

b=a[n-1];

a[n-1]=a[n-2];

a[n-2]=b;

}}

用单链表作为存储结构 写一个直接选择排序(c语言) 求大神!!!

typedef struct pnode

#include

#define NUprintf("\n");LL 0

{int num;

pnode next;

}P;//单链表节点

P node;//头节点

void display()//显示函数

{P p;

p=&node;

while(p->next!=NULL)

{printf("%d ",p->num);

p=p->next;

}printf("\n");

}void paixu()//直接排序

{P p,q;

int temp;

p=&node;

while(p->next!=NULL)

{q=p->next;

while(q->next!=NULL)

{if(p->num>q->num)

{temp=p->num;

p->num=q->num;

q->num=temp;

}q=q->next;

}p=p->next;

}printf("直接排序后的链表次序为:\n");

display();

}int main()

{int i,n;

char c;

P p;

p=&node;

printf("请输入链表元素个数:");

scanf("%d",&n);

for(i=0;i

{scanf("%d",&p->num);

scanf("%c",&c);

p->next=new P;

p=p->next;

}p->next=NULL;

printf("构建的链表次序为:\n");

display();

paixu();

}

c语言,使用函数的选择法排序

}RecurSelectSort(a, n-1, i);

void selectionsort(int a[],int m)

i=0;

{int i,j;

int k;

int tmp;

for(i = 0; i < m-1; i++)//控制循环次数,n个数需要n-1次循环

{k = i;

{if(a[j] < a[k])

k = j;

}//i不等于k是就证明a[i]不是最小的,

//i等于k时证明a[i]就是本轮比较过程中最小的值

if(i != k)

{tmp = a[i];

a[k] = tmp;

}}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息