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

9.4.1 簡單選擇排序

編輯:關於C語言

冒泡排序,是不斷的在進行比較,若小,則交換,而簡單選擇排序,是在一個循環比較完成後,才交換一次,交換次數比冒泡排序要少

#include <stdio.h>
#include <stdlib.h>
void swap(int arr[] ,int i, int j)
{
int temp;
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
void SelectSort(int arr[], int n)
{
int i;
int j;
int min;
for(i=0; i<n;i++)
{
min = i;
for(j=i+1;j<n;j++)
{
if(arr[min]>arr[j])
min = j;
}
if(i!=min)
swap(arr,i,min);
}
}
void print(int arr[], int n)
{
int i;
for(i=0; i<n; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
int main()
{
int arr[]={9, 1, 5, 8, 3, 7, 4, 6, 2};
int n = sizeof(arr)/sizeof(arr[0]);
printf("排序前:\n");
print(arr, n);
SelectSort(arr,n);
printf("排序後:\n");
print(arr, n);
system("pause");
return 0;
}

 

本文出自 “李海川” 博客,請務必保留此出處http://lihaichuan.blog.51cto.com/498079/1282213

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