程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 選擇排序算法,排序算法

選擇排序算法,排序算法

編輯:C++入門知識

選擇排序算法,排序算法


1、選擇排序
#include <stdio.h>
#include <stdlib.h>
#define N 5  //排序的數據個數 

typedef struct Num
{
	int data[N-1];
	int length;
}Num;

int main(int argc, char *argv[]) 

{
	int i,j,min;
	struct Num La;
	printf("請輸入您要排序的數字序列:\n");
	for(i = 0;i < N;i++)
	{
		scanf("%d",&La.data[i]); 
	}
	for(i = 0;i < N;i++)
	{
		for(j = i;j < N;j++)
		{
			int t;
			if(La.data[i] >= La.data[j])
			{
				t = La.data[j];
				La.data[j] = La.data[i];
				La.data[i] = t;
			}			
		}
	}
	printf("排序後數字序列為:\n");
	for(i = 0;i < N;i++)
	{
		printf("%3d",La.data[i]);
	}
	
	system("pause");
	return 0;
}


思想:每一趟排序找到所有元素的最小值,首先選出最小的值放在第一個位置,然後選出次小的值放在第二個位置,以此類推。

   時間復雜度為O(n^2)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved