作业一顺序表

对于顺序表的操作:
这里写图片描述

class No1  //第一章作业专用类 
{
    int elem []; //存放数据元素的数组
    int curLen;  //存储的数据元素个数

    //求最大值及其下标 
    // 此处求elem中的curLen个元素中的最大值及其下标

    public int maxIndex( ) // 方法只能有一个返回值 ,因此,此处设置为返回最大值下标
    {
         int maxindex = 0 ;  //maxindex表示最大值下标,初值为起始存储位置0

         for(int i=1; i<curLen ; i++)  // 循环从0的下一个位置1开始
           if ( elem[i] > elem [ maxindex] )
               maxindex = i;

         System.out.println("maxValue = "+ elem[maxindex]+",index="+maxindex ) ;
         //输出显示 最大值及其下标

         return maxindex;
         // 返回最大值的下标
     }

    //数据元素按值递增的顺序进行排序
    //此处采用冒泡排序算法

    public  void  BubbleSort () //排序结果是修改了elem中元素的位置,方法无参无返回值
    {
        int temp;

        for( int i=0 ; i<curLen-1; i++) // 排序需要进行curLen-1 趟,每趟产生一个最大值
        {
           for(int j=0 ; j< curLen-1-i ; j++ ) //一趟排序,需要进行curLen-1-i组比较
           {
              if (elem[j] > elem[j+1] ) // 比较两个相邻位置上的元素,若逆序,将两者交换,正序保持不变
              {
                  temp = elem[j];
                  elem[j] = elem[j+1];
                  elem[j+1] = temp;
              }
           }
        }
    }

   //以上两个方法可以直接放在实验1的S类中,然后在主方法中去调用它们。

}
阅读更多

没有更多推荐了,返回首页