Ví dụ đảo mảng, sắp xếp mảng!!!

nong_dan

Active Member
21/4/11
326
95
28
Vì các kiểu nguyên thủy trong java truyền kiểu tham trị chứ không tham chiếu :)).
Câu này chuẩn... Nhưng chả liên quan. Bạn thử dùng C or các ngôn ngữ khác viết lại mà dùng kiểu hàm này:
public static void swap(int a, int b) {
PHP:
    public static void swap(int a, int b) {
        int tem;
        tem = a;
        a = b;
        b = tem;
    }
 

Joe

Thành viên VIP
21/1/13
2,969
1,311
113
Câu này chuẩn... Nhưng chả liên quan. Bạn thử dùng C or các ngôn ngữ khác viết lại mà dùng kiểu hàm này:
public static void swap(int a, int b) {
PHP:
    public static void swap(int a, int b) {
        int tem;
        tem = a;
        a = b;
        b = tem;
    }
The boy confuses OOP as a simple 3GL programming language. If he learns Java a bit carefully then he'll know that the swap() method is a nonsense.
1) void
2) a and b are primitives and passed by values
3) even in C or PL1 or PASCAL or in whatever language this kind of function won't work.
The reference to the swap-example of our Algorithm Master is a brazen act
Dùng 1 vòng for dạng
PHP:
int i,j;
for(i=0,j=n-1;i<=j;i++,j--){
     swap(a[i],a[j]);
}
thế là xong :)
còn chiến lược sort hôm nào mình sẽ phân tích và đánh giá 1 số chiến lược cổ điển hy vọng các bạn quan tâm ;)
JAVA allows only Objects to be passed by "pointers" if you so will. To make the nonsense working the primitives must be "objectized".
PHP:
int[] obj_a = new int[1];
int[] obj_b = new int[1];
...
obj_a[0] = a;
obj_b[0] = b;
swap(obj_a, obj_b);
...
private void swap(int[] a, int[] b) {
    int x = a[0];
    a[0] = b[0];
    b[0] = x;
}
...
 
  • Like
Reactions: hoctudau

hoctudau

New Member
30/12/13
23
2
3
29
The boy confuses OOP as a simple 3GL programming language. If he learns Java a bit carefully then he'll know that the swap() method is a nonsense.
1) void
2) a and b are primitives and passed by values
3) even in C or PL1 or PASCAL or in whatever language this kind of function won't work.
The reference to the swap-example of our Algorithm Master is a brazen act

JAVA allows only Objects to be passed by "pointers" if you so will. To make the nonsense working the primitives must be "objectized".
PHP:
int[] obj_a = new int[1];
int[] obj_b = new int[1];
...
obj_a[0] = a;
obj_b[0] = b;
swap(obj_a, obj_b);
...
private void swap(int[] a, int[] b) {
    int x = a[0];
    a[0] = b[0];
    b[0] = x;
}
...
Cám ơn Mod ,mình đã hiểu rồi ?