标题:插入排序
取消只看楼主
hllSaturn
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-12-20
结帖率:62.5%
已结贴  问题点数:50 回复次数:0 
插入排序
文件IntList.java包含一个整数列表类的代码,它可以创建一个固定大小的list并添加元素,如果list已经满了将打印出一条信息,文件ListTest.java中创建IntList类的对象,编译运行程序。
编写一个SortedIntList类,从IntList类继承而来。SortedIntList与IntList相似,但它所有的元素都从小到大排列,意味着当你插入一个元素时,它必须被放到合适的位置。具体做法如下:
遍历数组找到新元素应该存放的位置。
将新元素所存放位置之后的元素向后移,然后存放新元素
以上内容应放在add方法中,覆盖父类中的add方法。还需要修改其他方法吗?
修改ListTest.java测试你新撰写的类,创建SortedIntList类的对象并输出,观察所输出的对象是否有序。
排序有问题~~求助

public class SortedIntList extends IntList
{
    //protected int[] list;
    //protected int numElements = 0;
    public SortedIntList(int size)
        {
            super(size);   
        //list = new int[size];
        }
public void add(int value)
{
    if (numElements == list.length-1)
        System.out.println("Can't add, list is full");
        else
        {
        /*for(int i=1;i<list.length;i++)
         {
             int temp=value;
             int j=i-1;
         while (j>=0 && list[j]>temp)
         {
             list[j+1]=list[j];
             j--;
         }
         list[j+1]=temp;
        
         } */
            int i,j,num = value;
            for(i=0;i<list.length;i++)
            for(j=0;j<list.length+1;)
                {
                    if(num<list[i])
                    {
                        list[j] = num;
                        list[j+1] = list[i];
                        j=j+2;                 
                    }
                    else
                        {
                        list[j] = list[i];
                        j++;
                        }
                }
             for(i=0;i<list.length+1;i++)
             for(j=0;j<list.length+1;j++)
                 list[i] = list[j];
                    
        numElements++;
        }
}
public String toString()
{
String returnString = " ";//+numElements;
for (int i=0; i<numElements; i++)

    returnString += list[i] + "\n";

return returnString;
}
}
搜索更多相关主题的帖子: int list 元素 length for 
2017-05-25 22:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477372-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.191261 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved