选择排序:
void select_sort(int a[],int n) //传入数组的要排序的元素个数
{int i,j,min,t;
for(i=0;i<n-1;i++)
{ min=i; //min:当前最小值下标
for(j=i+1;j<n;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<n-1; j++) //n个元素比较n-1轮
for (i= 0; i<n-1-j;i++) //比较相信的两个数
if(a[i]>a[i+1]) //若大小顺序不符,就交换
{t=a[i]; a[i]=a[i+1]; a[i+1]=t;
}
C语言 冒泡排序法和选择法的不同,本质区别
冒泡法每次比较和移动相邻的两项 而选择排序每次交换当前项和第n项 我把代码写出来你就懂了:冒泡:for i:=1 to n-1 do if (a[i]>a[i+1]) then swap(i,i+1);选择:for i:=1 to n-1 do if (a[i]>a[n]) then swap(i,n);(swap 表示交换)总的来说,两种排序比较的次数是...
求c语言选择排序法和 冒泡排序法代码!
选择法的算法: 假设需要对10个数进行排序,那么首先找出10个数里面的最小数,并和这个10个数的第一个(下标0)交换位置,剩下9个数(这9个数都比刚才选出来那个数大),再选出这9个数中的最小的数,和第二个位置的数(下标1)交换,于是还剩8个数(这8个数都比刚才选出来的大).. 依...
C语言排序:冒泡排序与选择排序的组别
1.都要通过n-1组排出具有n个数的顺序;2.都是通过逐个相比,比出最值的;。。。不同点:1.冒泡法,顾名思义就是把小的泡冒到上面,大的泡沉到下面,最值在中间和其他的值交换;而选择法,是假定了一个最值,所以最值和其他的值的交换就发生在假定最值的地方;。。。其实冒泡法和选择法的...
c语言的两种排序?
\/\/用一个for循环来输出数组中排序好的数据 for(l=0;l<=9;l++){ printf("%d",num[l]);} return 0;} 2、冒泡排序法 要求输入10个整数,从大到小排序输出 输入:2 0 3-4 8 9 5 1 7 6 输出:9 8 7 6 5 3 2 1 0-4 代码:include<stdio.h> int main(int argc,const char*...
跪求c语言编程高手,题目——输入十个数,从大到小排序(两种方法)
void sort2(int * a, int n) \/\/冒泡排序 { int i, j, change, tmp;for (i = 0; i < n; i++){ change = 0;for (j = 1; j < n - i; j++){ if (a[j - 1] < a[j]){ tmp = a[j - 1];a[j - 1] = a[j];a[j] = tmp;change = 1;} } if (change...
C语言用冒泡法和选择法对10个数进行排序
选择排序算法C语言的实现 选择法排序原理:一次选定数组中的每一个数,记下当前位置并假设它是从当前位置开始后面数中的最小数min=i,从这个数的下一个数开始扫描直到最后一个数,并记录下最小数的位置min,扫描结束后如果min不等于i,说明假设错误,则交换min与i位置上数。 具体实现代码如下:include...
求C语言编程编写函数sort:对数组a中的数进行从小到大排序
{if(*p<*min){temp=*min;min=*p;p=temp;} } i++;} } 选择排序法就是把数组的最小的元素找的然后放到数组的最前面 就是第一小的放到最前面 然后继续从后面找在最小的放到剩下元素的最前面 一直循环直到最后一个 2 冒泡排序 void sort(int a[],int length){int *p=a,*q=a+1,temp;...
求C语言直接插入排序,选择排序,冒泡排序的源代码,能直接运行的最好,谢...
插入排序:用指针和插入排序法对数组中10个整数按由小到大排序。include"stdio.h"include"conio.h"main(){ inta[10],r[11];int *p;int i,j;for(i=0;i<10;i++){ p=&a[i];printf("pleasescan the NO: %d\\n",i);scanf("%d",p); \/*因为p是指针变量,本身代表地址,所以不需加...
C语言题:输入十个数用一维数组分别用冒泡法与选择排序法进行排序
include <stdio.h>#include <conio.h>#define ARR_LEN 255 \/*数组长度上限*\/#define elemType int \/*元素类型*\/\/* 冒泡排序 *\/\/* 1. 从当前元素起,向后依次比较每一对相邻元素,若逆序则交换 *\/\/* 2. 对所有元素均重复以上步骤,直至最后一个元素 *\/\/* elemType arr[]: 排序目标数组;...
C语言数组A用选择排序
(1)“冒泡法”冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i ],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:void bubble(int *a,int n) \/*定义两个参数:数组首地址与数组大小*\/ { int i...