Day 20: Sorting

题目:

 

 

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。

 

参考:https://www.cnblogs.com/mlgjb/p/7866941.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值