用list容器类模板,顺序存储若干自然数,然后将其重新排序。

    科技2022-08-31  104

    比如输入一个整数9后: 使得容器中存储: 1 2 3 4 5 6 7 8 9 然后将其重排成: 1 3 5 7 9 8 6

    main.c部分

    #include <iostream> #include <list> // 链表 using namespace std; void show(list<int> numbers) { // for(int k : numbers) // cout << k << '\t'; // cout << endl; for(list<int>::iterator it=numbers.begin(); it!=numbers.end(); it++) cout << *it << '\t'; cout << endl; } int main() { list<int> numbers; int n; cin >> n; for(int i=1; i<=n; i++) numbers.push_back(i); show(numbers); for(list<int>::reverse_iterator rit = numbers.rbegin(); //奇偶数重排 rit != numbers.rend(); rit++) { if(*rit%2 == 0) //对偶数进行操作,奇数不动 { int tmp = *rit; numbers.remove(tmp); numbers.push_back(tmp); } } show(numbers); return 0; }

    运行结果:

    Processed: 0.013, SQL: 9