在MIPS汇编比较字符串

我有一大堆的数组中的字符串,我在数据段中定义的。 如果我拿串2从阵列中,是否有可能对它们进行比较,看看哪些在MIPS更大的价值? 我会怎么做呢? 基本上,我期待重新排列基于字母顺序的字符串。

编辑:这是不太我试图让特定问题的帮助,更多的只是一个一般性的问题,这将有助于我与我的方法的代码。 谢谢!

--------------解决方案-------------

如果是我,我想创建指向字符串列表。 也就是说,每个串的地址的列表。 然后,你会写一个子程序给定的指针两个字符串进行比较。 然后,当你需要换弦,只需交换的实际指针。

要避免交换字符串本身,因为他们很可能是紧凑,所以你必须做转移到中移动的内存漏洞不少。 指针是简单的交换。 你可以更容易,如果他们都是一个固定长度(或更少)的交换字符串,那么你就不必担心四处移动存储孔。

但是,排序指针列表是真正的热尖。

比较字符串,最简单的方法是迭代的每个字符串的每个字符,并且彼此相减。 如果结果为0,它们是相等的。 如果不是,那么如果结果为> 0,则第一字符串是其它字符串之前,否则所述第二字符串是低,你会交换它们。 如果你之前,其他用完即字符串的,他们是平等的一路到这一点,在较短的字符串小于较长的一个。

分类: 时间:2012-01-01 人气:4
分享到:

相关文章

  • 二进制字符串,字节串,Unicode字符串和普通字符串(STR)之间的区别 2012-02-10

    我有点困惑. 在Python是一个二进制字符串,字节串,Unicode字符串和一个普通的旧字符串(STR)之间的区别? 我使用Python 2.6. --------------解决方案------------- 这取决于Python的版本所使用. 在Python 2.x的,如果你写'abc'它的类型为str但是这意味着一个字节的字符串. 如果你想有一个Unicode字符串你必须写u'abc' 在Python 3.x中,如果你写'abc'它仍然具有类型str但现在,这意味着是Unicode字符的

  • C ++读取大文件的文本串(大于字符串:: MAX_SIZE) 2012-08-31

    我有一个巨大的文本文件(5GB〜),这是我的程序数据库 . 在运行该数据库读取的字符串函数完全多次像串::发现(),字符串::在(),字符串:: SUBSTR()... 的问题是,这种文本文件不能在一个字符串被加载,因为串:: MAX_SIZE绝对太小. 你将如何实现这一点? 我有一个装载部分与字符串> reading-> closing->加载另一部分同样与字符串> reading->收的想法 - > ...有没有更好/更有效的方式? --------------解决

  • 在装配操作字符串(MASM) 2012-10-31

    "INCLUDE Irvine32.inc .data source BYTE "Defense mechanism",0 target BYTE SIZEOF source DUP(0) .code main PROC mov esi, OFFSET target mov edi, OFFSET target mov ecx, SIZEOF source L1: mov al,[esi] ; get a character from source mov [edi],al

  • Combinining几串到一个字符串 2014-02-17

    String f = DropDownList1.SelectedItem.Value; String s = DropDownList3.SelectedItem.Value.PadLeft(3,'0'); String q = DropDownList2.SelectedItem.Value; String w = TextBox2.Text.ToString(); String o = TextBox3.Text.ToString(); 我想将其结合起来,一个字符串即字符串ü= F + S

  • 整数串转换/整数字符串连接在C ++ - 更紧凑的解决方案? 2014-08-03

    怎么办整数 - >串转换已经回答了在互联网上很多次......但是,我在寻找最紧凑的"C ++ - 的方式"来做到这一点. 既然你能串联使用重载+操作字符串,这将是最好能做到沿蟒蛇上下的X =(stringVariable + STR(了IntVariable))级联线的东西,但我不知道如果在C ++做这样的正规途径. 最常见的解决方案,我看到的是: stringstream的:如果可能的话,这将是很好不要有3行代码(声明,写入数据流,转换为字符串)只是来连接一些字母和数字. i

  • 获取串出一个字符串? 爆炸? 2015-02-21

    我有以下字符串 <embed src='herp.com' width='240' height='180' allowscriptaccess='always' allowfullscreen='true' flashvars='volume=94&stretching=fill&file=http%3A%2F%2Fmedia.cdn.com%2FTHEMP%2Fflash%2Ffile.mp4&plugins=viral-1d'/> 我想要得到的http%3A%2F

  • 寻找其他2串之间的字符串具有5的最小长度最多7,并包含2个点 2012-01-06

    好吧,这听起来有点复杂,但相信我,它不应该是. 我需要做的是找到一个字符串,可以是任何值,并被放在之间的">"和"</"为5的minimun长度和7的最大长度,准确地包含2个点. 所以,如果我有这样一个文本文件: <a href="www.site.com">a site</a> text<br /> More test<br /> <img src="maybe an

  • 在PHP中串接许多字符串容易 2012-02-10

    下面的代码是正确的: $str = "INSERT INTO table ('".$val1."',"."'".$val2."'".","."'".$val3."'".","."'".$val4."')"; 但下面的代码不正确: $str = "INSERT INTO table ('".

  • 装配MIPS和回车 2012-02-18

    我用汇编MIPS这个问题. 从键盘我读一个整数,范围必须是1..20 li $v0,5 syscall move $t2,$v0 # value read blez $t2,err1 # if $t2 <0 go to error1 function bgt $t2,20,err1 # if $t2 >20 go to error1 function 我想补充一个默认整数值,如果用户点击Enter键(.BYTE符进行的0x0A)该程序应继续下去. 我怎样才能做到这一点? 例如 Insert i

  • 制作串出一个字符串,并在Python整数 2012-03-22

    我得到试图把一个整数,并在前面加上"B"给它,将其转换为字符串时,此错误: File "program.py", line 19, in getname name = "b" + num TypeError: Can't convert 'int' object to str implicitly 这是与此相关的功能: num = random.randint(1,25) name = "b" + num ----------

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.627 (s). 10 q(s)