質問
10 個の要素を含む int 型の 1 次元配列を定義し、それぞれ 1 から 10 までの値を割り当て、配列内の要素を 1 つ前に移動します。
つまり、a[0]=a[1]、a[1]=a[2]、...最後の要素の値が元の最初の要素の値となり、配列が出力されます。 。
ソリューション (Python)
#!/usr/bin/env python #coding:utf-8 def ahead_one(): a = [i for i in range(10)] b = a.pop(0) a.append(b) return a if __name__ =="__main__": print ahead_one()
解決済み (ラケット 5.2.1)
#lang racket ; 定义函数 ahead-one ; 输入为一个整数列表 int-list,假设其长度为 N ; 输出为长度相同的整数列表,其第 N 位的元素为 int-list 的第 1 位的元素, ; 其 1~N-1 位的元素为 int-list 的第 2~N 位的元素 (define (ahead-one int-list) (append (rest int-list) (list (first int-list)))) ; 函数调用,正常运行时应输出 '(2 3 4 5 6 7 8 9 10 1) (ahead-one (list 1 2 3 4 5 6 7 8 9 10))