Java - Mencari penjelasan algoritma berikut
扔个三星炸死你
扔个三星炸死你 2017-07-05 10:26:05
0
2
1035

Adalah diketahui bahawa jadual linear A dengan panjang n menggunakan struktur storan berjujukan Sila tulis algoritma dengan kerumitan masa O(n) dan kerumitan ruang O(1). item dalam elemen jadual linear.

void  Delete(ElemType A[ ],int  n)
∥A是有n个元素的一维数组,本算法删除A中所有值为item的元素。
{i=1;j=n;∥设置数组低、高端指针(下标)。
 while(i<j)
   {while(i<j && A[i]!=item)i++;         ∥若值不为item,左移指针。
    if(i<j)while(i<j && A[j]==item)j--;∥若右端元素为item,指针左移
    if(i<j)A[i++]=A[j--];}

Ia tidak boleh dijalankan selepas menulis semula. Ini adalah yang ditulis semula

package 线性表;

public class Work_10 {
    public Work_10(){
        int[] arr={2,34,4,4,5};
        int item=4;
        delete(arr,item,arr.length-1);
        for(int a:arr){
            System.out.print(a+" ");
        }
    }
    public static void delete(int[] array,int item,int n){
        int i=0,j=n;
        while(i<j){
            while(i<j&&array[i]!=item) i++;
            if(i<j) while(i<j&&array[j]==item) j--;
            if(i<j){
                array[i++]=array[j--];
            }
        }
    }
    public static void main(String[] args) {
        new Work_10();
    }
}

Tidak tahu bagaimana untuk menukarnya?

Sila jelaskan, tuan

扔个三星炸死你
扔个三星炸死你

membalas semua(2)
淡淡烟草味

Jika anda ingin memadam, cari dahulu, kemudian padamkan saya akan berikan anda cari, dan anda boleh fikirkan yang lain dan tulis varian.

public static int search(byte[] a,int n, byte item) {
        int low = 0;
        int high = n - 1;

        while (low <= high) {
            int mid = (low + high) >>> 1;
            byte midVal = a[mid];

            if (midVal < item)
                low = mid + 1;
            else if (midVal > item)
                high = mid - 1;
            else
                return mid; // 找到item
        }
        return -(low + 1); // 没找到item
    }
世界只因有你

Oh, nombor tambahan adalah kerana nombor yang anda keluarkan adalah salah Proses pemadaman adalah baik.

Sebelum pemadaman, kandungan tatasusunan anda ialah 2,34,4,4,5, dengan jumlah 5 elemen.

Kandungan yang perlu dipadam ialah 4, bermakna hanya tinggal 3 elemen selepas pemadaman iaitu 2,34,5

Jadi output hasil anda hanya perlu mengeluarkan 3 elemen pertama tatasusunan, dan dua yang terakhir adalah elemen tidak sah.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!