用起泡法( 冒泡排序)對n個整數排序并輸出從小到大排序后的結果。
第一行包含一個大于0且不超過200的正整數n,表示以下有n個整數需要被排序。第二行有n個用空格隔開的整數。
輸出從小到大排序后的結果,每個整數后輸出一一個空格。
請注意行尾輸出換行。
uj5u.com熱心網友回復:
#include <iostream>
using namespace std;
void arr_sort(int *p, int n);
void arr_input(int *p, int n);
void arr_print(int *p, int n);
int main()
{
const int N = 200;
int n, arr[N] = {0};
cin >> n;
arr_input(arr, n);
arr_sort(arr, n);
arr_print(arr, n);
getchar();
return 0;
}
void arr_sort(int *p, int n)
{
int i, j, tmp = 0;
for (i=0; i<n-1; i++)
{
for (j=0; j<n-1-i; j++)
{
if (p[j] > p[j+1])
{
tmp = p[j+1];
p[j+1] = p[j];
p[j] = tmp;
}
}
}
}
void arr_print(int *p, int n)
{
int i;
for (i=0; i<n; i++)
{
cout << p[i] << " ";
}
cout << endl;
}
void arr_input(int *p, int n)
{
int i;
for (i=0; i<n; i++)
{
cin >> p[i];
}
}
uj5u.com熱心網友回復:
冒泡排序是最簡單的一個穩定排序,如果你搞不懂,后面的插入選擇希爾等更搞不了,多看看書。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/101706.html
標籤:C++ 語言
上一篇:【求助】C/C++格式問題
