这样:
int *a = (int *)malloc(sizeof(int) * n)//动态分配数组空间 ,有几个元素,n就是几。
for(i=0i<ni++)
{
a[i]=录入数值
}
Sort(a, n)
for(j=0j<nj++)
{
printf("%d",a[ij)//输出的内容就是排序好了的
}
//下面方法是用来排序的
void Sort(int *a, int n)
{
int i, j, temp
for(i=0i<ni++)
{
for(j=ij<nj++)
{
if(a[i] >a[j])
{
temp = a[i]
a[i] = a[j]
a[j] = temp
}
}
}
扩展资料:注意事项
1、选择排序法是将序列分为两段,有序前列和无序后列,每次查找无序后列中最大元素,将其插入到有序前列的最末尾处,直至无序后列最后一个元素,最终排序后的序列为降序序列。
2、适用于包括数组和向量在内的序列。
3、选择排序与冒泡排序的区别是选择排序每次遍历时会记住最大元素的位置,只进行一次交换,而冒泡排序每次遍历时会交换两个顺序不合法的元素。
算法程序:
#include "stdafx.h"
#include<iostream>
using namespace std
void SelectSort(int A[],int n)
{
for(int i = 0i <ni++ )
{
int max =i
for(int j = i+1j <nj++) //查找最大元素所在位置
{
if (A[j] >A[max])
max =j
}
int temp = A[max] //交换无序后列中首元素与最大元素的位置
A[max] = A[i]
A[i] = temp
}
}
1、打开visual C++ 6.0,准备一个空白的c语言文件,引入头文件,在main函数中定义变量和数组:
2、接下来用scanf函数输入的10个数,将输入的数存入到变量a中,接着进行比较排序,如果后一个数比前一个数大则利用中间变量t实现俩值互换,最后输出排序的结果:
3、编译运行程序,输入任意的10个数,回车后即可看到排序后的结果。以上就是c语言中选择排序的用法:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)