网站建设资讯

NEWS

网站建设资讯

选择排序c语言代码函数,选择排序c语言代码函数是什么

选择排序c语言代码

选择排序代码如下:

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了祥符免费建站欢迎大家使用!

#include stdio.h

int main()

{

int a[100], n, i, j, position, swap;

printf("Enter number of elementsn");

scanf("%d", n);

printf("Enter %d Numbersn", n);

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

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

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

{

position=i;

for(j = i + 1; j n; j++)

{

if(a[position] a[j])

position=j;

}

if(position != i)

{

swap=a[i];

a[i]=a[position];

a[position=swap;

}

}

printf("Sorted Array:n");

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

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

return 0;

}

C语言选择法排序

#includestdio.h

#define M 5

void main()

{

int b[M],i,j,t,k;

for(i=0;iM;i++)

scanf("%d",b[i]);

for(i=0;iM-1;i++)

{

for(k=i,j=i+1;jM;j++)

if(b[k]b[j])

k=j;

if(i!=k)

{

t=b[i];

b[i]=b[k];

b[k]=t;

}

}

for(i=0;iM;i++)

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

}

错在大括号位置加错了。

扩展资料:

C语言选择排序详解

工作原理是每一次从无序组的数据元素中选出最小(或最大)的一个元素,存放在无序组的起始位置,无序组元素减少,有序组元素增加,直到全部待排序的数据元素排完。

以升序为例的图解:

代码:

#includestdio.h

void SelectionSort(int *num,int n)

{

int i = 0;

int min = 0;

int j = 0;

int tmp = 0;

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

{

min = i;//每次讲min置成无序组起始位置元素下标

for(j = i;j n;j++)//遍历无序组,找到最小元素。

{

if(num[min]num[j])

{

min = j;

}

}

if(min != i)//如果最小元素不是无序组起始位置元素,则与起始元素交换位置

{

tmp = num[min];

num[min] = num[i];

num[i] = tmp;

}

}

}

(此处空一行)

int main()

{

int num[6] = {5,4,3,2,9,1};

int i = 0;

SelectionSort(num,6);//这里需要将数列元素个数传入。有心者可用sizeof在函数内求得元素个数。

for(i = 0;i 6;i++)

{

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

}

return 0;

}

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

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

1、写一个简单选择排序法的函数名,包含参数。int SelectSort(int * ListData,int ListLength);

2、写两个循环,在循环中应用简单选择插入排序:

int SelectSort(int * ListData,int ListLength)

{

int i , j ;

int length = ListLength;

for(i=0;i=length-2;i++)

{

int k = i;

for(j=i+1;j=length-1;j++)

{

if(ListData[k]ListData[j])

{

k=j;

}

}

if(k!=i)

{

int tmp = ListData[i];

ListData[i] = ListData[k];

ListData[k] = tmp;

}

}

return 0;

}

3、对编好的程序进行测试,得出测试结果:

int main()

{

int TestData[5] = {34,15,6,89,67};

int i = 0;

printf("排序之前的结果\n");

for(i = 0;i5;i++)

printf("|%d|",TestData[i]);

int retData = SelectSort(TestData,5);

printf("排序之后的结果:\n");

for(i = 0;i5;i++)

printf("|%d|",TestData[i]);

return 0;

}

4、简单选择排序中,需要移动的记录次数比较少,主要的时间消耗在对于数据的比较次数。基本上,在比较的时候,消耗的时间复杂度为:n*n。


网站栏目:选择排序c语言代码函数,选择排序c语言代码函数是什么
文章出自:http://njwzjz.com/article/hchhod.html