查找一组已经排好序的字母中不同字母的起点和终点例如有a[10] = {a,a,a,b,b,b,c,d,d,e,e,e}我现在想获得到:a[3]={a,a,a}b[3]={b,b,b}c[1]={c}d[2]={d,d}e[3]={e,e,e}说白了我就是想知道每个不同数字的起点和终

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 07:00:07

查找一组已经排好序的字母中不同字母的起点和终点
例如有a[10] = {a,a,a,b,b,b,c,d,d,e,e,e}
我现在想获得到:a[3]={a,a,a}
b[3]={b,b,b}
c[1]={c}
d[2]={d,d}
e[3]={e,e,e}
说白了我就是想知道每个不同数字的起点和终点,上面是个例子,实际中可能有几万个数字,请提供一个高效的算法.
实际上我是想在VBA中按照把某一列相同的内容整合到一个新的sheet中,就是说,有多少个不同的,就弄多少个Sheet,

num:array of [a..z] of integer;
i:integer;
ch:char;
for i:=1 to 10 do
begin
ch:=a[i];
num[ch]:=num[ch]+1;
end;
在数组num中保留了26个字母各自出现的次数.接下来就很容易了.