排序算法
选择排序
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
int n,i,j,a[2000 ];
bool t;
cin >>n;
for (i=1 ;i<=n;i++)
cin >>a[i];
for (i=1 ;i<n;i++)
for (j=i+1 ;j<=n;j++)
if (a[i]>a[j])
swap (a[i],a[j]);
for (i=1 ;i<=n;i++)
cout <<a[i] <<" " ;
return 0 ;
}
冒泡排序
#include <iostream>
using namespace std;
int main () {
int i;
int arr[8 ] = { 12 ,23 ,8 ,15 ,33 ,24 ,77 ,55 };
for (int i = 0 ; i < 7 ;i++) {
for (int j = 0 ; j < 7 -i; j++) {
if (arr[j]>arr[j + 1 ]) {
int temp = arr[j + 1 ];
arr[j + 1 ] = arr[j];
arr[j] = temp;
}
}
}
for (int j = 0 ; j < 8 ; j++)
{
cout << arr[j] <<" " ;
}
system ("pause" );
return 0 ;
}
插入排序
#include <iostream>
using namespace std;
int main () {
int i;
int arr[10 ] ;
for (i = 0 ; i < 8 ; i++)
{
cin >> arr[i];
}
for (int i = 1 ; i < 8 ;i++) {
for (int j = i; j >0 ; j--) {
if (arr[j-1 ]>arr[j]) {
int temp = arr[j-1 ];
arr[j-1 ] = arr[j];
arr[j] = temp;
}
}
}
for (int j = 0 ; j < 8 ; j++)
{
cout << arr[j] << " " ;
}
return 0 ;
}
快速排序
#include <iostream>
using namespace std;
void quickSort (int a[], int , int ) ;
int main ()
{
int array[] = { 12 ,23 ,8 ,15 ,33 ,24 ,77 ,55 },k;
int len = sizeof (array) / sizeof (int );
for ( k = 0 ; k<len; k++)
cout << array[k] << " " ;
cout << endl;
quickSort (array, 0 , len - 1 );
for (k = 0 ; k<len; k++)
cout << array[k] << " " ;
cout << endl;
return 0 ;
}
void quickSort (int s[], int l, int r)
{
if (l< r)
{
int i = l, j = r, x = s[l];
while (i < j)
{
while (i < j && s[j] >= x)
j--;
if (i < j)
s[i++] = s[j];
while (i < j && s[i]< x)
i++;
if (i < j)
s[j--] = s[i];
}
s[i] = x;
quickSort (s, l, i - 1 );
quickSort (s, i + 1 , r);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律