C++实现简单选择排序
生活随笔
收集整理的這篇文章主要介紹了
C++实现简单选择排序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1>算法思想
2>算法實現(xiàn)
#include<iostream> using namespace std;#define ARRAY_SIZE 8 /* description: 在標準輸出設(shè)備上顯示數(shù)組元素。 parameter: int* p:指向整形數(shù)組首元素的指針 int length:整形數(shù)據(jù)長度 */ void myshow(int* p,int length){for(int i=0;i<length;i++){cout<<*(p+i)<<"\t";}cout<<endl; } //返回p_start[from ... to]中最小值的index int selectMin(int *p_start,int from,int to){int index=from;//默認第一個數(shù)據(jù)為最小值for(int i=from+1;i<=to;i++){if(p_start[index]>p_start[i]){index=i;}}return index; } /* 對p_start[0 ... length-1]進行選擇排序 */ void selectSort(int *p_start,int length){for(int i=0;i<length-1;i++){//length個數(shù)據(jù)進行選擇排序只需進行l(wèi)ength-1次選擇即可//選擇第i小的記錄,并交換到位int min_index=selectMin(p_start,i,length-1);if(min_index!=i){//最小記錄與第i個記錄進行交換int temp=p_start[min_index];p_start[min_index]=p_start[i];p_start[i]=temp;}//展示中間結(jié)果cout<<"第"<<i<<"次選擇排序中間結(jié)果"<<endl;myshow(p_start,length);} } int main(){int list[ARRAY_SIZE]={49,38,65,97,76,13,27,49};cout<<"排序前:"<<endl;myshow(list,ARRAY_SIZE);selectSort(list,ARRAY_SIZE);cout<<"排序后:"<<endl;myshow(list,ARRAY_SIZE);return 0;}運行結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的C++实现简单选择排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中二维数组的用法(不定长二维数组
- 下一篇: C++实现有序表折半查找