已知任意字符串S1和S2,在串的顺序存储结构上实现S1和S2的比较运算,并返回比较结果。
时间: 2024-02-11 18:09:43 浏览: 69
实现字符串比较
可以通过遍历两个字符串,逐个比较它们对应位置上的字符来实现字符串的比较。具体实现可以参考如下的伪代码:
```
function compare(S1, S2):
i = 0
j = 0
while i < length(S1) and j < length(S2):
if S1[i] < S2[j]:
return -1
else if S1[i] > S2[j]:
return 1
i = i + 1
j = j + 1
if i == length(S1) and j == length(S2):
return 0
else if i < length(S1):
return 1
else:
return -1
```
在上述代码中,我们使用了两个指针i和j分别指向S1和S2的当前字符位置,然后逐个比较它们对应位置上的字符。如果S1[i] < S2[j],说明S1在当前位置上的字符小于S2在当前位置上的字符,那么比较结果应该为-1;如果S1[i] > S2[j],说明S1在当前位置上的字符大于S2在当前位置上的字符,那么比较结果应该为1。如果S1和S2的长度不相等,那么比较结果应该为它们长度的差值。
需要注意的是,在实现字符串比较时,需要保证S1和S2中的字符集相同。如果字符集不同,那么需要进行字符集转换或者对字符集进行扩展,才能进行比较。
阅读全文