数据结构复习--数组的移动
来源:互联网 发布:淘宝手机端主页尺寸 编辑:程序博客网 时间:2024/05/22 07:40
删除数组中的0值,并使数组连续的两种算法比较:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace 线性表移动
{
class Program
{
static void Main(string[] args)
{
new test().move1();
new test().move2();
}
class test
{// 删除0并向前移动
int [] a;
Stopwatch stopW = new Stopwatch();
public test()
{
a =new int[]{0,1,2,0,1,0,9,0,0,9,2,3,4,5,6,0,2,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
}
public void move1()
{// 从前往后
stopW.Reset();
stopW.Start();
int len = a.Length;
for (int i = 0; i < len; i++)
{
if (a[i] == 0)
{
for (int j = i+1; j < len; j++)
{
a[j - 1] = a[j];
}
len--;
}
}
stopW.Stop();
Console.WriteLine(stopW.Elapsed);
}
public void move2()
{// 从后往前
stopW.Reset();
stopW.Start();
int len = a.Length;
for (int i = len-1; i >=0; i--)
{
if (a[i] == 0)
{
for (int j = i + 1; j < len; j++)
{
a[j - 1] = a[j];
}
len--;
}
}
stopW.Stop();
Console.WriteLine(stopW.Elapsed);
}
}
}
}
从后往前没有对0值的移动,所以要快很多.
- 数据结构复习--数组的移动
- 数据结构复习--数组的移动
- 复习(数据结构:java):线性表(数组):接口的写法
- 复习(数据结构):动态数组:c_语言数组
- 数据结构-串的复习
- 复习(数据结构):动态数组:c++_stl写法
- 复习(数据结构):栈:c语言:数组
- 复习(数据结构):栈:c语言:动态数组
- 【NOIp复习】数据结构之树状数组
- 数据结构颓废计划I-树状数组复习
- 数据结构的一些复习点
- 数据结构之堆的复习
- 复习(数据结构:java):线性表(数组):泛型的写法
- 二维数组的指针复习
- 复习'''数据结构'
- 复习数据结构
- 数据结构复习
- 数据结构复习
- C/C++中判断某一文件或目录是否存在
- C語言经典编程100例
- 超越自己
- 博弈才刚刚开始——预测马英九上台后的动向
- java
- 数据结构复习--数组的移动
- 让虚拟机也能和主机同时上网
- 《windows驱动开发包》[ISO]
- Access Connection String
- big dog 美国 Boston Dynamics 公司生产的机器人
- 标准泰兴话——骂人
- 中国第一代黑客代表人物档案
- 标准泰兴话(二)
- 标准泰兴话(三)