这个程序小弟我真心找不出异常来,求大神指点。
这个程序我真心找不出错误来,求大神指点。。。
#include<iostream>
using namespace std;
void main()
{
void selectsort(int s[]);
int s[]={2,3,23,56,5,55,77,777,66,666};
selectsort(s);
}
void selectsort(int s[])
{
for(int i=0;i<9;i++)
{
int min=i;
for(int j=i+1;j<10;j++)
{
if(s[min]>s[j])
{
min=j;
}
}
if(i!=min)
{
int t;
t=s[min];
s[min]=s[j];
s[j]=t;
}
}
for(int t=0;t<10;t++)
cout<<s[t]<<' ';
}
------解决方案--------------------
再给你一个简洁版本好好看看
#include<iostream>
using namespace std;
void main()
{
void selectsort(int s[]);
int s[]={2,3,23,56,5,55,77,777,66,666};
selectsort(s);
}
void selectsort(int s[])
{
for(int i=0;i<9;i++)
{
int min=i;
for(int j=i+1;j<10;j++)
{
if(s[min]>s[j])
{
min=j;
}
}
if(i!=min)
{
int t;
t=s[min];
s[min]=s[j];
s[j]=t;
}
}
for(int t=0;t<10;t++)
cout<<s[t]<<' ';
}
------解决方案--------------------
再给你一个简洁版本好好看看
- C/C++ code
#include <algorithm> using std::swap; void sort(int* a, int n) { //反复n-1次 for(int i=0; i<n-1; i++){ // 第i次从第i~n个数据中找到最小元素是谁 int min = i; for(int j=i+1; j<n; j++) if(a[j]<a[min]) min = j; // 把它跟第i个元素交换 swap(a[min],a[i]); } }
------解决方案--------------------
第一步:
第二步: