[算法天天练]选择排序

选择排序

 

#include <iostream>
using namespace std;

void SelectSort(int data[], int ilen)
{
	int temp;
	int iIndex = 0;
	for(int i=0; i<ilen-1; i++)
	{
		iIndex = i;
		
		for(int j=i+1; j<ilen; j++)	
		{
			if(data[j]<data[iIndex])
			{
				iIndex = j;
			}
		}
		
		if(iIndex != i)
		{
			temp = data[i];
			data[i] = data[iIndex];
			data[iIndex] = temp;
		}
	}	
}

void PRINT(int data[], int ilen)
{
	for(int i=0; i<ilen; i++)
	{
		cout << data[i] << " ";
	}
	cout << endl;
}

int main()
{
	int data[] = {2, 1, 5, 4, 9, 0, 9, -1, 99, 3};  
	
	int ilen = sizeof(data)/sizeof(data[0]);
	
	PRINT(data, ilen);
	
	SelectSort(data, ilen);
	
	PRINT(data, ilen);
	
	return 0;
}

  

你可能感兴趣的