简单算法 编程

canghaizixia 2010-05-22 11:29:33
数据结构中的算法用C# 显示
我写的可能太繁琐 希望大虾出示更好的方法

string la = "h,y,a,f,c,z,b,v";
string lb = "e,a,d,c";
要求 把laUlb的连集
输出出来, 要求 去掉重复, lb 的放到la后边就可以, 结果 h ,y,a,f,c,z,b,v,e,d,

也可以进一步考虑根据字母先后插入 结果 h,y,a,d,e,f,c,z,b,v

谁给一个简练的C#程序啊。
感激 很懂的
...全文
218 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxhxiaoyi51 2011-07-17
  • 打赏
  • 举报
回复
学习学习学习学习
ProjectDD 2010-05-23
  • 打赏
  • 举报
回复
使用Union扩展方法,最后在使用Distinct扩展方法,即刻搞定
-------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication11 {
class Program {
static void Main(string[] args) {
Console.WriteLine(M(new char[]{'a','b','c','d','e'},new char[]{'a','e','f','k'}));
Console.ReadKey();
}
static char[] M(char[] cs1 ,char[] cs2) {
char[] r = default(char[]);
var v = cs1.Union<char>(cs2);
r = v.Distinct().ToArray();
return r;
}
}
}

//abcdefk
ProjectDD 2010-05-23
  • 打赏
  • 举报
回复
更正下8楼:Union为取并集,不需要 Distinct方法

相当于Concat + Distinct
jianshao810 2010-05-22
  • 打赏
  • 举报
回复
这个,直接用判断重复不就行了吗?
xiaogug01 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyazhe 的回复:]
在linux下,无法测试,如果你是2008或更高版本,可以试试。

C# code
string lc = la.Concat(la.Except(lb)).ToArray();
[/Quote]
行吧。没工具,没法试。
兔子-顾问 2010-05-22
  • 打赏
  • 举报
回复
在linux下,无法测试,如果你是2008或更高版本,可以试试。
string lc = la.Concat(la.Except(lb)).ToArray();
canghaizixia 2010-05-22
  • 打赏
  • 举报
回复
给为高手 有时间帮写一个吧, 不胜感激
hhc123 2010-05-22
  • 打赏
  • 举报
回复
就是取并集
Taiyangchen 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyazhe 的回复:]

在linux下,无法测试,如果你是2008或更高版本,可以试试。
C# code
string lc = la.Concat(la.Except(lb)).ToArray();
[/Quote]

在2005下不行,我调试过了。。
Love_FU 2010-05-22
  • 打赏
  • 举报
回复
用bool型判断是否重复
while (true)
{
bool[] isrepeats = new bool[2];
isrepeats[0]="a" ;
isrepeats[1]="c";
foreach( bool isrepeat in isrepeats)
{
isrepeats[i] = false;
break;
}
}

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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