存储优化 - 删除重复记录只保留单条
2010-03-24 00:00:00 来源:WEB开发网由于前端提交处理做的不到位或者数据库设计的不够合理,库中通常会存在一些冗余数据,比如重复记录就是一种,那这样的记录如何删除呢?
我们先看一下相关数据结构的知识。
在学习线性表的时候,曾有这样一个例题。
已知一个存储整数的顺序表La,试构造顺序表Lb,要求顺序表Lb中只包含顺序表La中所有值不相同的数据元素。
算法思路:
先把顺序表La的第一个元素付给顺序表Lb,然后从顺序表La的第2个元素起,每一个元素与顺序表Lb中的每一个元素进行比较,如果不相同,则把该元素附加到顺序表Lb的末尾。
1 public SeqList<int> Purge(SeqList<int> La)
2 {
3 SeqList<int> Lb = new SeqList<int>(La.Maxsize);
4 //将a表中的第1个数据元素赋给b表
5 Lb.Append(La[0]);
6 //依次处理a表中的数据元素
7 for (int i = 1; i <= La.GetLength() - 1; ++i)
8 {
9 int j = 0;
10 //查看b表中有无与a表中相同的数据元素
11 for (j = 0; j <= Lb.GetLength() - 1; ++j)
12 {
13 //有相同的数据元素
14 if (La[i].CompareTo(Lb[j]) == 0)
15 {
16 break;
17 }
18 }
19 //没有相同的数据元素,将a表中的数据元素附加到b表的末尾。
20 if (j > Lb.GetLength() - 1)
21 {
22 Lb.Append(La[i]);
23 }
24 return Lb;
25 }
26 }
更多精彩
赞助商链接