Member 13844832 Ответов: 0

Круговой массив по вопросам связанным с java


Дан круговой массив. Вы должны вставить элемент, повернув его вправо. Если массив заполнен, обязательно измените его размер путем линеаризации. Примечание: индекс-это смещение от начала.

Что я уже пробовал:

public class test{
    public static void main (String [] args){
        int[] a = {10, 20, 30, 40, 50};
        insert (a,2,30,3);
        
    }
    public static void insert (int []a, int index, int element, int start){
        boolean b = false;
        for (int i=0; i<a.length; i++){
            if (a[i]==0){
                b = true;
            }
             if(false){
                 int newsize =a.length+5;
                int []newb = new int [newsize];
                int x = start;
                for (int j=0; j<newsize; j++){
                    newb[j]=a[x];
                    x=(x+1)%a.length;
                }
                a=newb;
            }
        }
        int c= (index+start)%a.length;
        int t=start;
        for (int i=0; i<=index; i++){
            int s=t-1;
            if (s<0){
                s=a.length-1;
            }
            a[s]=a[t];
            t=(t+1)%a.length;
        }
        a[c]=element;
        for (int i=0; i<a.length; i++){
        System.out.print (a[i]+ " ");
        }
    }
}

Patrice T

А у вас есть вопрос ?

OriginalGriff

Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Как вы это проверили?
Где ты застрял?
Какая помощь вам нужна?

0 Ответов