字母数字排序测试(字母表数字排序)

2023-03-02 10:15:40 听风 思思

excel中如何对字母数字混合的数据进行排序?

会按字符从左到右一个位一个位的比较:

如:

ABXEBHZWDB0030514501

ACUDDEFWUC0030514503

因为第1位一样,会比较第2位

B比C小,所以在升序中先排ABXEBHZWDB0030514501

已经决定排序,后面的字符就不会再考虑了

如:

ABXEBHZWDB0030514501

AB3DDEFWUC0030514503

因为第1,2位一样,会比较第3位

数字比字母先排,所以在升序中先排AB3DDEFWUC0030514503

如:

ABXEBHZWDB00305145012

ABXEBHZWDB0030514501

ABXEBHZWDB0030514501X

因为第1-20位一样,会比较第21位

空格(不管实际输没输空格)比数字和字母都先排,所以在升序中就是:

ABXEBHZWDB0030514501

ABXEBHZWDB00305145012

ABXEBHZWDB0030514501X

如果要不管前面的字符,从某个数位开始排,可以用MID函数加一列排序。

=mid(单元格引用,开始字符位数,1000)

如:

=mid(A1,11,1000)

app inventor的数字和字母的排序算法怎么做啊

图1. 现在运行的是字符排序,如果是数字排序,就将下面的数字比较块替换“如果”后面的“比较文本”块。

图2. 在输入框中可以输入字符,也可以输入文字,我没有尝试数字与字符混合输入的情况。抱歉有一点小失误,程序后来改为用逗号(,)分隔,但标签的提示忘记修改了。

图3. 输入字符的测试结果

祝编程愉快!

EXCEL排序问题,字母加数字的排序

1、假定原数据在A列,选定A列,点"数据"-"分列",选"固定宽度"将你的数据分成两列,字母一列,数字一列。

2、将全表按A、B两列排序(主关键字为A列,次关键字为B列,均为升序)。

3、在后面空白列的第一行输入公式:

=A1B1

将公式向下复制到相应行。

4、选定公式列,点"复制",在A1点右键,点"选择性粘贴",选中"数值",点"确定"。

5、删除B列和添加的公式列。

C语言冒泡排序,输入字母或数字比较大小,输出结果是字母由大到小排在前,数字由小到大排在后

/*

排序前 : 90dhnsuayA34810

降排序后 : yusnhdaA9843100

二次排序后 : yusnhdaA0013489

Press any key to continue

*/

#include stdio.h

#include stdlib.h

void SortD(char s[]) { // 从大到小排序

int i,j;

char ch;

for(i = 0; s[i + 1]; ++i) {

for(j = i + 1; s[j]; ++j) {

if(s[i] s[j]) {

ch = s[i];

s[i] = s[j];

s[j] = ch;

}

}

}

}

void SortI(char s[]) { // 从小到大排序

int i,j;

char ch;

for(i = 0; s[i + 1]; ++i) {

for(j = i + 1; s[j]; ++j) {

if(s[i] s[j]) {

ch = s[i];

s[i] = s[j];

s[j] = ch;

}

}

}

}

int main(){

char s[] = "90dhnsuayA34810";

int i,pos = -1;

printf("排序前 : %s\n",s);

SortD(s);

printf("降排序后 : %s\n",s);

for(i = 0; s[i]; ++i) {

if(s[i] = '0' s[i] = '9') {

pos = i;

break;

}

}

if(pos != -1) {

SortI(s[pos]);

printf("二次排序后 : %s\n",s);

}

return 0;}

excel2010排序时对带字母的数字排序方法

在 Excel 中的数据有很多时候都是有带字母的数字,而且需要对其进行排序,具体该如何对带字母的数字进行排序呢?下面是我带来的关于excel2010排序时对带字母的数字排序 方法 ,希望阅读过后对你有所启发!

excel2010排序时对带字母的数字排序方法:

带字母的数字排序步骤1:如下图所示,即需要进行排序的表格:

带字母的数字排序步骤2:选择所有的产品名称,然后点击 数据,分列:

带字母的数字排序步骤3:选择 固定宽度,下一步:

带字母的数字排序步骤4:点击标尺上的刻度,使竖线隔开子母和数字,然后点击 下一步:

带字母的数字排序步骤5:点击 目标区域,然后选择一个空白的单元格,点击 完成:

带字母的数字排序步骤6:光标定位到数据中的任意单元格,然后点击 数据,排序:

带字母的数字排序步骤7:如下图所示设置排序条件,勾选 数据包含标题 后,点击 确定:

字母数字排序测试(字母表数字排序) 第1张

java实现字母 数字 混合排序 实现结果: java1 java2 java3 00java 12345

String类实现了Comparable接口,其compareTo方法中定义的是按该字符串的“字典顺序”比较大小,在这个字典中,采用通用的顺序,直接比各个单个的字符的大小,即数字比字母小。

而Collections.sort()方法正是基于Comparable接口的compareTo方法比较大小的。

所以你会得到这个结果。

如果要重定义顺序,在一般情况下,要重写compareTo方法,但是String类是final的,不能被继承修改,所以,你只好重新定义一个表示字符串的类了,很是麻烦。

这么做意味着你要自己实现各种需要用到的字符串方法。。。

重写compareTo之后,就可以使用各种排序器了。

这个方法该怎么写,自己抄String的compareTo的源代码吧,然后改一改。

主要就是加几条判断语句,让数字比字母大。

还有一种方案,自己重写一个排序器,在排序器中再定义两个String比较大小的方法。

排序的时候,使用自己的比较大小方法来比。比较方法还是如上所述,抄String的源码,然后修改字母比较大小的定义的路子。。

两种方案,自己根据需要选吧。

如果对String的其他操作不多,建议采用第一种。这样子自己不用写排序器。

看起来很简单的一个问题,实现起来比较麻烦的。