三种基础排序
一、选择法排序
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int s[2000], n;
int i, j;
cin >> n;
for ( i = 0 ; i < n ; i++ )
cin >> s[i];
for ( i = 0 ; i < n - 1 ; i++ )
for ( j = i + 1 ; j < n ; j++ )
if ( s[i] > s[j] )
swap( s[i] , s[j] );
cout << s[0];
for ( i = 1 ; i < n ; i++ )
cout << " " << s[i];
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
二、冒泡法、冒泡排序
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int s[2000], n;
int i, j;
cin >> n;
for ( i = 0 ; i < n ; i++ )
cin >> s[i];
for ( i = 0 ; i < n - 1 ; i++ )
for ( j = n - 1 ; j > i ; j-- )
if ( s[j] < s[j - 1] )
swap( s[j - 1] , s[j] );
cout << s[0];
for ( i = 1 ; i < n ; i++ )
cout << " " << s[i];
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
三、箱排序、桶排序,计数排序
求的是n个1000以内的整数排序。
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int s[1001] = {}, n;
int i, j, t;
cin >> n;
for ( i = 0 ; i < n ; i++ )
{
cin >> t;
s[t]++;
}
for ( i = 0 , t = 0; i < 1001 ; i++ )
{
while (s[i] != 0)
{
t++;
if (t != 1) cout << " ";
cout << i;
s[i]--;
}
}
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
__EOF__
作 者:Aeterna
出 处:https://www.cnblogs.com/coding365/p/12872415.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步