#include using namespace std;

void f(int *b, int x, int y, int z) { int g, d; if(y == 1) { if(z == 1) { g = 0; while(g < x - 1) { if(b[g] > b[g + 1]) { d = b[g]; b[g] = b[g + 1]; b[g + 1] = d; } g = g + 1; } } else { g = 0; while(g < x - 1) { if(b[g] < b[g + 1]) { d = b[g]; b[g] = b[g + 1]; b[g + 1] = d; } g = g + 1; } } } else { if(z == 1) { g = x - 1; while(g > 0) { if(b[g] > b[g - 1]) { d = b[g]; b[g] = b[g - 1]; b[g - 1] = d; } g = g - 1; } } else { g = x - 1; while(g > 0) { if(b[g] < b[g - 1]) { d = b[g]; b[g] = b[g - 1]; b[g - 1] = d; } g = g - 1; } } } }

int main() { int n, b[20], k, c, w, u, s; cin >> n; k = 0; while(k < n) { cin >> b[k]; k = k + 1; } cin >> w; cin >> u; k = 0; c = n; while(k < n - 1) { f(b, c, w, u); k = k + 1; s = 0; while(s < c) { cout << b[s] << ' '; s = s + 1; } cout << endl; } }

C++ 数组排序算法:指针传递实现

原文地址: https://www.cveoy.top/t/topic/nWuX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录