⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selects.cpp

📁 非常全的排序算法c实现
💻 CPP
字号:
/*算法思想简单描述:
 在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环
 到倒数第二个数和最后一个数比较为止。*/
#include<iostream.h>//选择排序
#define MAX 4
void select_sort(int *x,int n);
int main()
{ 
   int *p,i,n,a[MAX];
   n=MAX;
   p=a;
   cout<<"Input "<<n<<" number for sorting :"<<endl;
   for(i=0;i<MAX;i++)
   {
	 cin>>a[i];
   }
   cout<<endl;
   select_sort(p,MAX);

   cout<<"After select_sort:"<<endl;
   for(i=0;i<MAX;i++)
   {
     cout<<a[i]<<" ";
   }
   cout<<endl;
   return 0;
}

void select_sort(int a[],int n)//选择排序
{
   int i,j,min;

   for(i=0;i<n-1;i++) //要选择的次数:n-1次
   {
      min=i; //假设当前下标为i的数最小,比较后再调整
      for(j=i+1;j<n;j++)//循环找出最小的数的下标是哪个
	  {
         if (a[j]<a[min])
		 {   
            min=j; //如果后面的数比前面的小,则记下它的下标
		 }
	  }  
  
     if(min!=i) //如果min在循环中改变了,就需要交换数据
	 {
	    int temp;
        temp=a[i];
        a[i]=a[min];
        a[min]=temp;
	 }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -