请问这个简单排序问题怎样写

发布于 2021-11-20 17:27:22 字数 164 浏览 707 评论 8

A={“a”,“b”,“c”,“d”}

次序abcd

以A[i]值代入A[j]中,依次排序,如:

A[3]代入A[2]则得出B数组:

B={"b","c","d","a"}

依次类推,请问这个算法我怎么写呀!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

千笙结 2021-11-26 00:04:24
from copy import deepcopy

a = [1, 2, 3, 4, 5]

def rightMove(arr, m):
	data = deepcopy(arr)
	flag = 0
	for i in range(len(arr)):
		if flag == 1:
			arr[i] = data[m]
			m = m + 1
		else:
			arr[i] = data[len(arr) - m]
			m = m - 1
			if m == 0:
				flag = 1

def leftMove(arr, m):
	data = deepcopy(arr)
	flag = 0
	for i in range(len(arr)):
		if flag == 1:
			arr[i] = data[m]
			m = m + 1
		else:
			arr[i] = data[m]
			m = m + 1
			if m == len(arr):
				m = 0
				flag = 1



#rightMove(a, 4)

leftMove(a, 2)

print a

勿忘初心 2021-11-26 00:04:20

引用来自“Timco”的评论

挺简单的,数组循环移动而已吧

傾城如夢未必闌珊 2021-11-26 00:03:10

Thanks .原来这叫循环移动,OK 我搜索到例子了

陌若浮生 2021-11-25 23:03:43

回复
请设置最佳...你懂的 o(^▽^)o

背叛残局 2021-11-25 22:29:16

挺简单的,数组循环移动而已吧

秉烛思 2021-11-25 00:16:19

好吧,我的确说不清,它就像一个调音按钮,可以旋转。 扭转,就会得到一个新的数组。 如:1,2,3,4,5 把第5的值转到2的位置上得出这样排序: 4,5,1,2,3 把第2的值转到3处: 5 1 2 3 4 数据是不会变,只是位置是个圆,转一格,a[0],a[1]的值 就是变成圆前面或后面的值,看你怎样转。

灵芸 2021-11-24 14:45:32

确实还是PHP 好用呀!

瀞厅☆埖开 2021-11-22 23:17:36

有这么麻烦?qt怎么做不知道,python肯定没这么麻烦。就是个切片啊。根本不用区分什么左移右移

我写个php的,供参考。

<?php
//键key转到键$to,也就是挪$key - $to = $shift位
function radio_button($arr, $key, $to){
	$shift = $key - $to;
	return array_merge(array_slice($arr, $shift), array_slice($arr, 0, $shift));
}

$arr = array(0,1,2,3,4,5,6,7,8,9);
$res = radio_button($arr, 4, 5);
print_r($res);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文