排序问题:2个数组同步?

honkerboy07 2004-04-16 04:17:22
一个 double[100], 一个string[100] ,
double[100]里有重复值,string[100]里无重复string,
值是一一对应的,现对double[100]排序,
如何保证string[100]的值仍和double[100]的值对应??
...全文
75 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
honkerboy07 2004-04-21
  • 打赏
  • 举报
回复
good idea
0Modest 2004-04-20
  • 打赏
  • 举报
回复
stringdata[] sd = new stringdata[100];要写在public void makeArray(double[] data, string[] str)
前面,呵呵
0Modest 2004-04-20
  • 打赏
  • 举报
回复
定义一个数据结构:
struct stringdata
{
string str;
double data;
}
public void makeArray(double[] data, string[] str)
{
for ( int i=0; i<100; i++)
{
sd[i].data = data[i];
sd[i].str = str[i];
}
}
stringdata[] sd = new stringdata[100];
//假设用选择排序
public void SelectSort(ref stringdata[] data)
{
int min;

for (int i=0; i< data.Length-1; i++)
{
min=i;
for ( int j= i+1; j<data.Length; j++)
{
if(data[j].data > data[min].data )
{
min=j;
}
}
stringdata temp = new LableData();
temp=data[min];
data[min] = data[i] ;
data[i]= temp;
}
}
honkerboy07 2004-04-20
  • 打赏
  • 举报
回复
哪位大侠给个示意图之类的dd??
honkerboy07 2004-04-19
  • 打赏
  • 举报
回复
俺愚顿,请楼上各位大侠给点例子看看!
好用者马上结贴!
cpsoft 2004-04-17
  • 打赏
  • 举报
回复
建立索引数组Index[100]与double[100]对应!
排序时交换index索引就可以了!原double[100]和string[100]可以保持不变!
liem 2004-04-17
  • 打赏
  • 举报
回复
由于double[100]中有重复值,而它又与string[100](无重复值)一一对应,因此这种对应不是基于double值的,而是基于其它规则(比如两者之间的下标一一对应)。
当对double进行排序时,对相应的规则进行对等的排序
aheadyes 2004-04-16
  • 打赏
  • 举报
回复
当double排序时遇到元素交换时,顺便交换string中的值:)
不知可以?
baointoo1980 2004-04-16
  • 打赏
  • 举报
回复
呵呵!我觉得可以把每个double和string放在一个hash表中,判断条件是double,然后对hash交换,最后分别取出double和string。

期待楼下的更好的方法!
honkerboy07 2004-04-16
  • 打赏
  • 举报
回复
请指教!

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧