作业一顺序表

来源:互联网 发布:蓝果网络 编辑:程序博客网 时间:2024/06/05 19:17

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

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类中,然后在主方法中去调用它们。}