简单的排序算法--最有效率
第一次来这个板块
最近在看数据结构算法(严蔚敏的)
请达人
指点
这个算法
两个线性表
{a,b,c,d}--a
{b,c,d,e,aa}--b
要求:要求把b表的元素加到a 不能与a的 重复
请大人 写最有效率的 算法
以及写出他的 时间复杂性
语言c# java js c
这是我写的两个简单的
----------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
DateTime dt = DateTime.Now;
ArrayList a=new ArrayList(){"a","b","c","d","gg","cc","dsd",};
ArrayList b = new ArrayList { "d", "a", "f", "g", "c", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd"};
ArrayList c=dos(a,b);
for (int i = 0; i < c.Count; i++)
{
Console.WriteLine(c[i]);
}
DateTime dt1=DateTime.Now;
TimeSpan ts;
ts = dt1 - dt;
Console.WriteLine(ts.ToString());
}
public static ArrayList dos(ArrayList a, ArrayList b)
{
bool has=false;
int y=0;
int al = a.Count;
int bl = b.Count;
for (int i = 0; i < al; i++)
{
for (int j = 0; j < bl; j++)
{
if (b[j] != a[i])
{
has = true;
y = i;
continue;
}
else
{
has = false;
break;
}
}
if (has)
{
b.Add(a[y]);
}
}
return b;
}
}
}
----------------------------------------------------------
---------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
DateTime dt = DateTime.Now;
ArrayList a = new ArrayList() { "a", "b", "c", "d", "gg", "cc", "dsd", };
ArrayList b = new ArrayList { "d", "a", "f", "g", "c", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd" };
ArrayList c = dos(a, b);
for (int i = 0; i < c.Count; i++)
{
Console.WriteLine(c[i]);
}
DateTime dt1 = DateTime.Now;
TimeSpan ts;
ts = dt1 - dt;
Console.WriteLine(ts.ToString());
}
public static ArrayList dos(ArrayList a, ArrayList b)
{
string bstr = "";
for (int i = 0; i < b.Count; i++)
{
bstr += b[i].ToString() + ",";
}
for (int i = 0; i < a.Count; i++)
{
int asa = bstr.IndexOf(a[i].ToString());
if (asa == -1)
{
b.Add(a[i]);
}
else
{
continue;
}
}
return b;
}
}
}
最近在看数据结构算法(严蔚敏的)
请达人
指点
这个算法
两个线性表
{a,b,c,d}--a
{b,c,d,e,aa}--b
要求:要求把b表的元素加到a 不能与a的 重复
请大人 写最有效率的 算法
以及写出他的 时间复杂性
语言c# java js c
这是我写的两个简单的
----------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
DateTime dt = DateTime.Now;
ArrayList a=new ArrayList(){"a","b","c","d","gg","cc","dsd",};
ArrayList b = new ArrayList { "d", "a", "f", "g", "c", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd"};
ArrayList c=dos(a,b);
for (int i = 0; i < c.Count; i++)
{
Console.WriteLine(c[i]);
}
DateTime dt1=DateTime.Now;
TimeSpan ts;
ts = dt1 - dt;
Console.WriteLine(ts.ToString());
}
public static ArrayList dos(ArrayList a, ArrayList b)
{
bool has=false;
int y=0;
int al = a.Count;
int bl = b.Count;
for (int i = 0; i < al; i++)
{
for (int j = 0; j < bl; j++)
{
if (b[j] != a[i])
{
has = true;
y = i;
continue;
}
else
{
has = false;
break;
}
}
if (has)
{
b.Add(a[y]);
}
}
return b;
}
}
}
----------------------------------------------------------
---------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
DateTime dt = DateTime.Now;
ArrayList a = new ArrayList() { "a", "b", "c", "d", "gg", "cc", "dsd", };
ArrayList b = new ArrayList { "d", "a", "f", "g", "c", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd", "a", "b", "c", "d", "gg", "cc", "dsd" };
ArrayList c = dos(a, b);
for (int i = 0; i < c.Count; i++)
{
Console.WriteLine(c[i]);
}
DateTime dt1 = DateTime.Now;
TimeSpan ts;
ts = dt1 - dt;
Console.WriteLine(ts.ToString());
}
public static ArrayList dos(ArrayList a, ArrayList b)
{
string bstr = "";
for (int i = 0; i < b.Count; i++)
{
bstr += b[i].ToString() + ",";
}
for (int i = 0; i < a.Count; i++)
{
int asa = bstr.IndexOf(a[i].ToString());
if (asa == -1)
{
b.Add(a[i]);
}
else
{
continue;
}
}
return b;
}
}
}
...全文
相关推荐
十大经典排序算法[源码]
本文详细介绍了十种经典的排序算法,包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序和基数排序。每种算法从核心思想、算法步骤、性能分析和代码实现四个方面进行讲解。排序算法是计算机科学中的重要主题,广泛应用于实际场景和面试考察。通过本文,读者可以全面了解这些算法的原理、实现方式及其优缺点,为选择合适的排序算法提供参考。
c++实现12个排序算法以及时间比较
c++实现12个排序算法以及时间比较,数据随机生成1000个数字排序
各种排序算法的比较分析知识.pdf
各种排序算法的比较分析知识.pdf
单链表上的简单选择排序算法
以单链表为存储结构实现简单选择排序的算法
最经典的8大排序算法总结
最经典的8大排序算法总结,插入排、冒泡排序、快速排序、简单选择排序、归并排序、二叉树排序、基数排序等。


