C#笔记3

一、MyList列表类

1.插入数据Insert:

代码:public void Insert (int index,T item)

含义:把item插入到索引为index的位置

传递的两个参数:第一个是数据插入到的索引位置,第二个是要插入的数据

       {

         //第一步:安全判断,因为是插入到index,所以index这个位置必须是有数据的(判断是否是在数据范围内,如果不在数据范围内就要抛出异常)

                   if(index<0 || index>count-1)

                   //如果小于最小索引或者大于最大索引即表示index不在索引范围内

                  {

                            //抛出异常

                            throw new                                                        ArgumentOutOfRanageException                           (“索引参数超出范围了”)

                    }

                     //第二步:插入首先我们需要把index的位置以及index的后面的数据向后移动一个,然后再把item放到index的位置

                        //数据迁移:从后往前遍历(向后移动)

                     for(int i=count-1;i>index-1;i--)

                     {

                               //从count-1  递减到  index

                               data[i +1]=data[i];

                        //(把i位置的数据放到i+1的                            位置,即向后迁移一个位置)

                      }

                      data[index]=item;

                      count++;(数据个数增加)

         }

图片:

7649792c93884f35af2ac9c89ec76fb8.png

2.测试插入数据:

测试代码:

list.Insert(2,100);

for(int i=0; i<list.Count; i++)

Console.Write(list.[i] + “”);

测试图片:

0e6e6e2ac3d349448386f6d598a4cd42.png

8686b1f110604d279b462c4e85c5fa20.png

14c8ec70ec964f6f80f10ed3479af311.png

 3.移除数据RemoveAt:

代码:public void RemoveAt (int index)

含义:把index位置上的数据移除

//第一步:安全判断,因为是移除index位置上的元素,所以index这个位置必须是有数据的

                   if(index<0 || index>count-1)

                   //如果小于最小索引或者大于最大索引即表示index不在索引范围内

                  {

                            //抛出异常

                            throw new                                                        ArgumentOutOfRanageException                           (“索引参数超出范围了”)

                    }

                     

                  //第二步:插入首先我们需要把index后面的数据向前移动一个

                        //数据迁移:从前往后遍历(向前移动)

                     for(int i=index+1;i<count;i++)

                     {

                               //从index+1 递增到 count-1

                               data[i-1]=data[i];

                        //(把i+1位置的数据放到i的                            位置,即向前迁移一个位置)

                      }

                      count--;(数据个数增加)

         }

图片:

c6e0c672cfca4bffab35be345b1fe581.png

4.测试移除数据:

测试代码:

list.RemoveAt(3);

for(int i=0; i<list.Count; i++)

Console.Write(list.[i] + “”);

测试图片:

552653eaff6c40c7af94ff9b95f2ff22.png

6f8f4b463a0f488aba1d7149aff0b598.png

 换行:Console.WriteLine();

5.获取元素所在列表中的第一次出现的位置indexOf()

代码:public int indexOf(T item)

含义:判断item的索引位置

//遍历数组中的所有数据,判断item的位置

      int index =-1;

      for(int i=0; i<count; i++)

      {

      //判断item与data[i]是否相等

               if(item.equals(data[i]))

             {

                      index=i;

                      break;

              }

       }

        return index;

图片:

82de1b41a5ac45e5888acb315730a71e.png

 6.测试查找第一次出现元素的位置:

测试代码:

Console.WritrLine(list.indexOf(100));

测试图片:

5ea36b345b6443bfaec9b48e6f8efd4a.png

597d0b3f78af4381b82a936aef80f8b5.png

 7.获取元素所在列表中的最后一次出现的位置indexOf()

代码:public int LastindexOf(T item)

含义:判断item的索引位置

//遍历数组中的所有数据,判断最后一个item的位置

      int index =-1;

      for(int i=count-1; i>=0; i--)

      {

      //判断item与data[i]是否相等

               if(item.equals(data[i]))

             {

                      index=i;

                      break;

              }

       }

        return index;

图片:

d9e1836fe2cb4d7d9c045c0fcb37b50e.png

 8.测试查找最后一次出现元素的位置LastindexOf():

测试代码:

Console.WritrLine(list.LastindexOf(4));

测试图片:

6d508aa7d01a48f48f33516eed24e4e5.png

0843cb2ac05c4854a0309a3b504004c9.png

3a2fdddeec2749e29b3ef9975083fc33.png

9.排序Sort()

public void Sort()

//默认把当前数组进行从小到大排序

       Array.Sort(data,0,count);

      //把data里的前count个元素进行排序

图片:

4c41dbf256314e069c34a16833caaaec.png

10.测试数据排序: 

测试代码:

list.Sort();

测试图片:

c7a8c724e212488b8137cec81d266e61.png

d381c3df38f24cdc82039acc0b0f7557.png  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值