好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

顺序表(线性表)操作的思想及实现之C#版

顺序表(线性表)操作的思想及实现之C#版

顺序表(线性表)操作的思想及实现之C#版

?

public   int   LocateElement(T item)

{

     if   ( this .intPointLast==-1)

     {

         Console.WriteLine( "there is no element in this linear list" );

         return   -1;

     }

     for   ( int   i = 0; i <= this .intPointLast; i++)

     {

         if   ( this .tItems[i].Equals(item)) //若是自定义类型,则T类必须把Equals函数override

         {

             return   i;

         }

     }

     Console.WriteLine( "No found" );

     return   -1;

}

反转线性表Reverse()

继续吸取之前的经验教训,要对一个线性表进行操作,线性表必须不为空,因此第一步就是判断线性表是否为空,当线性表不为空的时候,我们该如何使用循环对其进行反转呢?先设定一个游标从起始位置,但是循环的终结点在哪里?经过分析我们可以知道,只需要将循环终结点设定在线性表长度一半的位置,然后将i位置的元素值与intPointLast-i位置元素的值进行颠倒即可,于是便有了以下代码:

?

public   void   Reverse()

{

     if   ( this .intPointLast == -1)

     {

         Console.WriteLine( "there is no element in this linear list" );

     }

     else

     {

         int   i = 0;

         int   j = this .GetLength() / 2; //结果取下界整数用于循环

         while   (i<j)

         {

             T tmp = this .tItems[i];

             this .tItems[i] = this .tItems[ this .intPointLast - i];

             this .tItems[ this .intPointLast - i] = tmp;

             i++;

         }

     }

}

好吧,顺序表的部分常用操作就介绍到这里~生活开心,学习愉快~

 

 

分类:  C#专题 ,  数据结构与算法

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于顺序表(线性表)操作的思想及实现之C#版的详细内容...

  阅读:41次