题目:
C++:
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <map>
#include <string>
#include <exception>
#include <stdexcept>
#include <algorithm>
#include <stack>
#include <queue>
#include <math.h>
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n); //声明动态数组
for (int a_i = 0; a_i < n; a_i++) {
cin >> a[a_i];
}
// Write Your Code Here
int numSwaps = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n-1; j++) {
if (a[j] > a[j + 1]) {
swap(a[j],a[j+1]); //使用swap()函数,交换两个变量
numSwaps++;
}
}
}
cout << "Array is sorted in "<< numSwaps <<" swaps." << endl;
cout << "First Element: " << a[0] << endl;
cout << "Last Element: " << a[n - 1] << endl;
system("pause");
return 0;
}
python:
#!/bin/python3
#coding:utf-8
import sys
n = int(input().strip())
a = list(map(int, input().strip().split(' ')))
# Write Your Code Here
numSwaps=0
for i in range(a.__len__()):
for j in range(a.__len__()-1):
if a[j]>a[j+1]:
temp=a[j]
a[j] = a[j + 1]
a[j+1]=temp
numSwaps+=1
print("Array is sorted in",numSwaps,"swaps.")
print("First Element:",a[0])
print("Last Element:",a[n-1])
总结:
C++:
使用vector声明动态数组:
int n;
cin >> n;
vector<int> a(n);
for (int a_i = 0; a_i < n; a_i++) {
cin >> a[a_i];
}
swap()交换函数:
swap(a[j],a[j+1]);
python:
输入数据,将其转换为整型:
n = int(input().strip())
将输入的数据,以空格分开,转换为数组:
a = list(map(int, input().strip().split(' ')))
list数组的长度:
a.__len__()
python不支持n++这种写法。
因此,正确的自增操作应该 n = n + 1 或者 n += 1。