/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Bai2_1;
import com.sun.swing.internal.plaf.metal.resources.metal;
import java.util.Scanner;
/**
*
* @author Bum
*/
class MangMotChieu {
//<editor-fold defaultstate="collapsed" desc="Properties">
private int[] a;
private int len;
//<editor-fold defaultstate="collapsed" desc="get set">
public int[] getA() {
return a;
}
public void setA(int[] a) {
this.a = a;
}
public int getLen() {
return len;
}
public void setLen(int len) {
this.len = len;
}
//</editor-fold>
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="constructors">
public MangMotChieu(int len) {
this.len = len;
}
public MangMotChieu() {
a = new int[100];
len = 0;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="I/O">
public void NhapDSDong() {
System.out.println("Nhap chieu dai DS: ");
Scanner sc = new Scanner(System.in);
len = sc.nextInt();
a = new int[len];
System.out.println("Nhap cac phan tu cua DS: ");
for (int i = 0; i < len; i++) {
System.out.println("a[" + i + "]=");
a = sc.nextInt();
}
}
public void NhapDSCoDinh() {
len = 15;
a[0] = 5;
a[1] = -3;
a[2] = 7;
a[3] = 2;
a[4] = -4;
a[5] = 74;
a[6] = 1;
a[7] = -7;
a[8] = -24;
a[9] = 64;
a[10] = 1;
a[11] = -4;
a[12] = 74;
a[13] = 24;
a[14] = 74;
}
public void XuatDS() {
for (int i = 0; i < len; i++) {
System.out.print(a + "\t");
}
System.out.println("");
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Methods">
public void ChenCuoi(int x) {
len++;
a[len - 1] = x;
}
public boolean XoaPhanTuX(int x) {
for (int i = 0; i < len; i++) {
if (a == x) {
XoaPhanTuTheoViTri(i);
return true;
}
}
return false;
}
public void XoaPhanTuTheoViTri(int vt) {
for (int i = vt; i < len - 1; i++) {
a = a[i + 1];
}
len--;
}
public void XoaTatCaPhanTuXTrongDS(int x) {
boolean con;
do {
con = XoaPhanTuX(x);
} while (con);
}
public void XoaTatCaSoAmTrongDS() {
for (int i = 0; i < len; i++) {
if (a < 0) {
XoaPhanTuTheoViTri(i);
i--;
}
}
}
public int TimViTriDauTienCuaX(int x) {
for (int i = 1; i < len; i++) {
if (a == x) {
return i;
}
}
return -1;
}
public int TimPhanTuLonNhat() {
int max = a[0];
for (int i = 1; i < len; i++) {
if (a > max) {
max = a;
}
}
return max;
}
public int TimViTriDauTienCuaPhanTuLonNhat() {
int max = TimPhanTuLonNhat();
for (int i = 0; i < len; i++) {
if (a == max) {
return i;
}
}
return -1;
}
public void XoaTatCaPhanTuLonNhat() {
int max = TimPhanTuLonNhat();
XoaTatCaPhanTuXTrongDS(max);
}
public MangMotChieu TimTatCaViTriCuaPhanTuLonNhat() {
int max = TimPhanTuLonNhat();
MangMotChieu vtmax = TimTatCaViTriCuaPhanTuX(max);
return vtmax;
}
public MangMotChieu TimTatCaViTriCuaPhanTuX(int x) {
MangMotChieu vtmax = new MangMotChieu();
for (int i = 0; i < len; i++) {
if (a == x) {
vtmax.ChenCuoi(i);
}
}
return vtmax;
}
public void ThayPhanTuXBangPhanTuY(int x, int y) {
for (int i = 0; i < len; i++) {
if (a == x) {
a = y;
}
}
}
public void ChenPhanTuXTaiViTri(int x, int vt) {
len++;
for (int i = len - 1; i > vt; i--) {
a = a[i - 1];
}
a[vt] = x;
}
public void ChenPhanTuXVaoTruocPhanTuY(int x, int y) {
MangMotChieu vtX = TimTatCaViTriCuaPhanTuX
;
int tang = 0;
for (int i = 0; i < vtX.len; i++) {
ChenPhanTuXTaiViTri(x, vtX.a + tang);
tang++;
}
}
public void ChenPhanTuXVaoSauPhanTuY(int x, int y) {
MangMotChieu vtX = TimTatCaViTriCuaPhanTuX
;
int tang = 0;
for (int i = 0; i < vtX.len; i++) {
ChenPhanTuXTaiViTri(x, vtX.a + 1 + tang);
tang++;
}
}
public void DaoNguocDS() {
for (int i = 0; i <= len / 2; i++) {
int temp = a;
a = a[len - 1 - i];
a[len - 1 - i] = temp;
}
}
public int DemSoPhanTuXTrungNhau(int x) {
int count = 0;
for (int i = 0; i < len; i++) {
if (a == x) {
count++;
}
}
return count;
}
public int DemSoPhanTuXKhongTrungNhau() {
int SoPTBiTrung = 0;
for (int i = 0; i < len; i++) {
if (DemSoPhanTuXTrungNhau(a) > 1) {
XoaTatCaPhanTuXTrongDS(a);
SoPTBiTrung++;
i--;
}
}
return SoPTBiTrung + len;
}
public void XoaTatCaPhanTuTrungNhauTrongDS() {
for (int i = 0; i < len; i++) {
if (DemSoPhanTuXTrungNhau(a) > 1) {
XoaTatCaPhanTuXTrongDS(a);
i--;
}
}
}
public void XoaTatCaPhanTuTrungLapTrongDS() {
MangMotChieu arrVTriX;
for (int i = 0; i < len; i++) {
if (DemSoPhanTuXTrungNhau(a) > 1) {
arrVTriX = TimTatCaViTriCuaPhanTuX(a);
int giam = 0;
for (int j = 1; j < arrVTriX.len; j++) {
XoaPhanTuTheoViTri(arrVTriX.a[j] - giam);
giam++;
}
}
}
}
public void SelectionSort() {
int min;
for (int i = 0; i < len - 1; i++) {
min = i;
for (int j = i + 1; j < len; j++) {
if (a[j] < a[min]) {
min = j;
}
}
int temp = a;
a = a[min];
a[min] = temp;
}
}
//</editor-fold>
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Bai2_1;
import com.sun.swing.internal.plaf.metal.resources.metal;
import java.util.Scanner;
/**
*
* @author Bum
*/
class MangMotChieu {
//<editor-fold defaultstate="collapsed" desc="Properties">
private int[] a;
private int len;
//<editor-fold defaultstate="collapsed" desc="get set">
public int[] getA() {
return a;
}
public void setA(int[] a) {
this.a = a;
}
public int getLen() {
return len;
}
public void setLen(int len) {
this.len = len;
}
//</editor-fold>
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="constructors">
public MangMotChieu(int len) {
this.len = len;
}
public MangMotChieu() {
a = new int[100];
len = 0;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="I/O">
public void NhapDSDong() {
System.out.println("Nhap chieu dai DS: ");
Scanner sc = new Scanner(System.in);
len = sc.nextInt();
a = new int[len];
System.out.println("Nhap cac phan tu cua DS: ");
for (int i = 0; i < len; i++) {
System.out.println("a[" + i + "]=");
a = sc.nextInt();
}
}
public void NhapDSCoDinh() {
len = 15;
a[0] = 5;
a[1] = -3;
a[2] = 7;
a[3] = 2;
a[4] = -4;
a[5] = 74;
a[6] = 1;
a[7] = -7;
a[8] = -24;
a[9] = 64;
a[10] = 1;
a[11] = -4;
a[12] = 74;
a[13] = 24;
a[14] = 74;
}
public void XuatDS() {
for (int i = 0; i < len; i++) {
System.out.print(a + "\t");
}
System.out.println("");
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Methods">
public void ChenCuoi(int x) {
len++;
a[len - 1] = x;
}
public boolean XoaPhanTuX(int x) {
for (int i = 0; i < len; i++) {
if (a == x) {
XoaPhanTuTheoViTri(i);
return true;
}
}
return false;
}
public void XoaPhanTuTheoViTri(int vt) {
for (int i = vt; i < len - 1; i++) {
a = a[i + 1];
}
len--;
}
public void XoaTatCaPhanTuXTrongDS(int x) {
boolean con;
do {
con = XoaPhanTuX(x);
} while (con);
}
public void XoaTatCaSoAmTrongDS() {
for (int i = 0; i < len; i++) {
if (a < 0) {
XoaPhanTuTheoViTri(i);
i--;
}
}
}
public int TimViTriDauTienCuaX(int x) {
for (int i = 1; i < len; i++) {
if (a == x) {
return i;
}
}
return -1;
}
public int TimPhanTuLonNhat() {
int max = a[0];
for (int i = 1; i < len; i++) {
if (a > max) {
max = a;
}
}
return max;
}
public int TimViTriDauTienCuaPhanTuLonNhat() {
int max = TimPhanTuLonNhat();
for (int i = 0; i < len; i++) {
if (a == max) {
return i;
}
}
return -1;
}
public void XoaTatCaPhanTuLonNhat() {
int max = TimPhanTuLonNhat();
XoaTatCaPhanTuXTrongDS(max);
}
public MangMotChieu TimTatCaViTriCuaPhanTuLonNhat() {
int max = TimPhanTuLonNhat();
MangMotChieu vtmax = TimTatCaViTriCuaPhanTuX(max);
return vtmax;
}
public MangMotChieu TimTatCaViTriCuaPhanTuX(int x) {
MangMotChieu vtmax = new MangMotChieu();
for (int i = 0; i < len; i++) {
if (a == x) {
vtmax.ChenCuoi(i);
}
}
return vtmax;
}
public void ThayPhanTuXBangPhanTuY(int x, int y) {
for (int i = 0; i < len; i++) {
if (a == x) {
a = y;
}
}
}
public void ChenPhanTuXTaiViTri(int x, int vt) {
len++;
for (int i = len - 1; i > vt; i--) {
a = a[i - 1];
}
a[vt] = x;
}
public void ChenPhanTuXVaoTruocPhanTuY(int x, int y) {
MangMotChieu vtX = TimTatCaViTriCuaPhanTuX

int tang = 0;
for (int i = 0; i < vtX.len; i++) {
ChenPhanTuXTaiViTri(x, vtX.a + tang);
tang++;
}
}
public void ChenPhanTuXVaoSauPhanTuY(int x, int y) {
MangMotChieu vtX = TimTatCaViTriCuaPhanTuX

int tang = 0;
for (int i = 0; i < vtX.len; i++) {
ChenPhanTuXTaiViTri(x, vtX.a + 1 + tang);
tang++;
}
}
public void DaoNguocDS() {
for (int i = 0; i <= len / 2; i++) {
int temp = a;
a = a[len - 1 - i];
a[len - 1 - i] = temp;
}
}
public int DemSoPhanTuXTrungNhau(int x) {
int count = 0;
for (int i = 0; i < len; i++) {
if (a == x) {
count++;
}
}
return count;
}
public int DemSoPhanTuXKhongTrungNhau() {
int SoPTBiTrung = 0;
for (int i = 0; i < len; i++) {
if (DemSoPhanTuXTrungNhau(a) > 1) {
XoaTatCaPhanTuXTrongDS(a);
SoPTBiTrung++;
i--;
}
}
return SoPTBiTrung + len;
}
public void XoaTatCaPhanTuTrungNhauTrongDS() {
for (int i = 0; i < len; i++) {
if (DemSoPhanTuXTrungNhau(a) > 1) {
XoaTatCaPhanTuXTrongDS(a);
i--;
}
}
}
public void XoaTatCaPhanTuTrungLapTrongDS() {
MangMotChieu arrVTriX;
for (int i = 0; i < len; i++) {
if (DemSoPhanTuXTrungNhau(a) > 1) {
arrVTriX = TimTatCaViTriCuaPhanTuX(a);
int giam = 0;
for (int j = 1; j < arrVTriX.len; j++) {
XoaPhanTuTheoViTri(arrVTriX.a[j] - giam);
giam++;
}
}
}
}
public void SelectionSort() {
int min;
for (int i = 0; i < len - 1; i++) {
min = i;
for (int j = i + 1; j < len; j++) {
if (a[j] < a[min]) {
min = j;
}
}
int temp = a;
a = a[min];
a[min] = temp;
}
}
//</editor-fold>
}