选择算法伪代码,C代码,以及分析

考虑n个数的数组A:首先找出A中的最小元素并将其与A[1]中的元素进行交换,然后找出A中次最小元素并将其与A[2]中的元素进行交换,对A中的前n-1个元素进行该操作。

伪代码:

SELECTION-SORT(A)
1	n=A.length
2	for j=0 to n-2
3		smallest=j
4		for i=j+1 to n-1
5			if A[i]


C:

#include 
int main(){
	int A[5]={4,3,5,1,2};	//n随意取为5
	int n=5,smallest,temp;
	for(int j=0;j


算法分析:

外层循环只需进行n-2次,因为数组A[0...n-1]已经是有序,故最后一个元素必为有序。

选择算法的运行时间(时间复杂度)为:O(n²)




你可能感兴趣的:(算法)