VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1192|回复: 10

如何对两行数据进行排序?

[复制链接]

3

主题

17

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-1-11 07:40:01 | 显示全部楼层 |阅读模式
比如:
有这样的一组数据
               字符型         整型变量
               电脑             a
               配件             b
               内存条           c
               主机箱           d
               显卡             f
现在已经用排序法把整型变量的数据从大到小排列好了,可是如何也把字符型根据整型变量从大到小排列呢?
如:
    第一位:...
    第二位:...
    .
    .

或者用什么方法最好咯/?
回复

使用道具 举报

0

主题

60

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-1-14 19:00:02 | 显示全部楼层
如何也把字符型根据整型变量从大到小排列呢?

不明白意思

回复

使用道具 举报

3

主题

17

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-1-15 13:36:02 | 显示全部楼层
我的意思是说:
如何把这一组数据从大到小排列
               字符型         整型变量
               电脑             a
               配件             b
               内存条           c
               主机箱           d
               显卡             f
最后结果能这样显示:
第一位:....
第二位:....
.
.
.
注:右边的a,b,c,d...都是变量.
回复

使用道具 举报

0

主题

60

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-1-15 15:36:01 | 显示全部楼层
在一个表里当然就根据  整型变量  排序就可以了啊
回复

使用道具 举报

0

主题

58

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-1-15 15:45:02 | 显示全部楼层
int a[] = {...}

HashTable strHT = new HashTable()
strHT.add("a","电脑")
strHT.add("b","配件")
...

a排序后,
foreach(int i in a){
   strHT.Items(i.ToString())
}
回复

使用道具 举报

2

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-15 16:45:01 | 显示全部楼层
哈哈
回复

使用道具 举报

3

主题

17

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-1-16 19:09:01 | 显示全部楼层
int a[] = {...}

HashTable strHT = new HashTable()
strHT.add("a","电脑")
strHT.add("b","配件")
...

a排序后,
foreach(int i in a){
   strHT.Items(i.ToString())
}
...............................................

还是不行啊,strHT.Items(i.ToString())出错了
回复

使用道具 举报

3

主题

17

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-1-20 11:09:01 | 显示全部楼层
哎,难道就没人知道这个问题怎么解决吗?
回复

使用道具 举报

0

主题

322

帖子

115.00

积分

新手上路

Rank: 1

积分
115.00
发表于 2020-1-20 18:18:02 | 显示全部楼层
Hashtable ht = new Hashtable();
                        ht.Add("2","电脑");
                        ht.Add("1","配件");
                        ht.Add("9","内存条");
                        ht.Add("0","机箱");
                        ht.Add("7","显卡 ");
                        ht.Add("3","声卡");
                       
                        System.Collections.ArrayList al = new ArrayList(ht);
                        al.Sort(new A());
                        object[] o = al.ToArray();
                       
                        for(int i=0;i<o.Length;i++)
                        {
                                DictionaryEntry de =( DictionaryEntry )o[i];
                                Response.Write(de.Key +":"+ de.Value +"<BR>");
                        }







class A:IComparer
                {
                        #region IComparer 成员

                        public int Compare(object x, object y)
                        {
                                // TODO:  添加 A.Compare 实现
                                 DictionaryEntry d1 = (DictionaryEntry)x;
                                DictionaryEntry d2 = (DictionaryEntry)y;
                                 
                                return Convert.ToInt32(d1.Key) - Convert.ToInt32(d2.Key);
                        }

                        #endregion

                }
回复

使用道具 举报

0

主题

322

帖子

115.00

积分

新手上路

Rank: 1

积分
115.00
发表于 2020-1-20 18:36:01 | 显示全部楼层
当然如果把数据添加到 DataTable中会更简单.利用

DataView.Sort = "字段"就可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表