Cấp bậc tác giả:

JAVA

Mảng 1 chiều

Được viết bởi QuangIT ngày 30/03/2014 lúc 09:36 PM
int a[] = {1,3,7,6}
  • 0
  • 8269

Mảng 1 chiều

& là tham biến
Không có & là tham trị

1. Chèn giá trị X vào mảng ở vị trí K cho trước:

chen-mang.jpg

void insert(int X, int K, int &n, int a[])
{
    for(int i=n+1;i>K;i--)
    a[i]=a[i-1];
    a[K]=X;
    n++;
}

2. Xóa phần tử ở vị trí K:

xoa-mang.jpg

void delete(int K, int &n, int a[])
{
    for(int i=k;i<=n-1;i++)
    a[i]=a[i+1];
    n--;
}

Bài tập:

1. Xóa các phần tử âm trong mảng gồm n phần tử

void XoaAm(int &n, int a[])
{
    for(int i=1;i<=n;i++)
    while(a[i]<0) delete(i,n,a);
}

2. Chèn 1 giá trị X vào trong mảng sao cho đảm bảo mảng có giá trị tăng dần(giả sử mảng đã sắp xếp tăng dần)

chen-mang-da-tang-dan.jpg
void ChenTang(int X, int &n, int a[])
{
    int k=1;
    while(a[k]<x && k<=n) k++;
    n++;
    for(int i=n;i>k;i--)
    a[i]=a[i-1];
    a[k]=x;
}

3. Trộn 2 mảng thành mảng tăng dần(không sử dụng sắp xếp)

tron-mang-da-sap-xep-tang-dan.jpg
void TronMang(int m, int a[], int n, int b[], int &k, int c[])
{
    int i=1, j=1,k=0;
    while(i<=m && j<=n)
    {
    k++;
    if(a[i]<b[j]) {c[k]=a[i]; i++;}
    else {c[k]=b[j]; j++;}
    }
    while(i<=m) {k++; c[k]=a[i];i++;}//b het truoc
    while(j<=n) {k++; c[k]=b[j];j++;}//a het truoc
}

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML