冒泡算法流程图:

 简单来说就是,从左至右两两比较排序,一轮过后,舍弃排序过后的最后一个数,再经过一轮排序,再舍弃最后一个数字,如此反复直到,最后只剩下一个数字。

以下为ARM汇编实现:

	AREA maopao, CODE, READONLY
	CODE32
	ENTRY
	MSR CPSR_c, #0x10
	MOV R4, #0x18
LOOP_W
	SUBS R4, R4, #4
	BEQ STOP
	LDR R1, =data
	ADD R6, R1, R4

LOOP
	LDR R2, [R1]
	LDR R3, [R1, #4]!
	CMP R2, R3
	STRGT R3, [R1, #-4]
	STRGT R2, [R1]
	CMP R1, R6
	BEQ LOOP_W
	B LOOP
STOP
	MOV R8, #0x01
	AREA list,DATA, READWRITE
data DCD 8,4,5,6,7,1
	END

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐