![]() |
|
|
Thread Tools |
|
#1
|
|||
|
|||
|
[lập trình C++] Sắp xếp mảng
Mod cho em sống tới hết hôm nay, mai em thi rồi ạh :(
Các bác giúp em giải bài này với ạh ![]() Yêu cầu đề bài: cho mảng 1 chiều ngẫu nhiên, sắp xếp sao cho phần tử âm về đầu dãy, 0 về giữa và dương về cuối dãy. Không thay đổi thứ tự các phần tử cùng loại và không dùng mảng phụ. Ví dụ: mảng: -3 5 8 0 -4 -2 0 1 0 -5 -1 sau khi xếp: -3 -4 -2 -5 -1 0 0 0 5 8 1 p/s: có bác nào mai thi Học viện Tp HCM hông ![]() em có code phần sắp xếp dương về cuối, âm về đầu, các bác xem thử có tí ánh sáng le lói nào không nha ![]() Code:
mảng: -3 5 8 -4 -2 1 -5 -1
sau khi xếp: -3 -4 -2 -5 -1 5 8 1
int check(int k)
{
if(k <0)
return -1;
if(k>0)
return 0;
}
void sapxep(array a, int n)
{
bool flag;
int i=0;
do
{
flag =false;
for(int j=n-1;j>i;j--)
{
if(check(a)<check(a[j-1]))
{
int temp=a;
a=a[j-1];
a[j-1]=temp;
flag=true;
}
}
i++;
}while(flag);
}
|
|
#2
|
|||
|
|||
|
Re: [lập trình C++] Sắp xếp mảng
google buble sort đi
__________________
[CENTER][COLOR="Blue"][SIZE="4"]No comment[/SIZE][/COLOR][/CENTER] [QUOTE]Steam ID: http://steamcommunity.com/id/thantrom_2234/[/QUOTE] |
| TranTienHung |
| View Public Profile |
| Find all posts by TranTienHung |
|
#3
|
|||
|
|||
|
Re: [lập trình C++] Sắp xếp mảng
đó là sắp xếp tăng dần, trông cái này giống dùng queue ( hàng đợi ) thì đúng hơn. Mà không cho dùng mảng phụ àh ???!!
|
| duyminh1987 |
| View Public Profile |
| Find all posts by duyminh1987 |
|
#4
|
|||
|
|||
|
Re: [lập trình C++] Sắp xếp mảng
Đơn giản là bạn lập ra 3 mảng con, một mảng lưu phần tử âm, một mảng lưu phần tử 0, một mảng lưu phẩn tử dương sau đó duyệt mảng ban đầu từ trái sang phải, gặp phần tử thuộc loại nào thì tống vào mảng loại ấy. Sau đó ghép 3 mảng lại là đc thôi
__________________
Người ra đi đầu không ngoảnh lại Sau lưng thềm nắng lá rơi đầy [QUOTE=invisible;22914343]Quen năm 1999, yêu năm 2002, cưới năm 2007, có rất nhiều thứ mà cả 2 đã cùng nhau vượt qua, tớ và vợ tớ khi yêu nhau đều là mối tình đầu.[/QUOTE] |
|
#5
|
||
|
||
|
Re: [lập trình C++] Sắp xếp mảng
Quote:
|
| P.E Onimusha |
| View Public Profile |
| Find all posts by P.E Onimusha |
|
#6
|
|||
|
|||
|
Re: [lập trình C++] Sắp xếp mảng
buble thay đổi thứ tự (vì nó sắp xếp) bác ạh
![]() Quote:
![]() Quote:
|
|
#7
|
|||
|
|||
|
Re: [lập trình C++] Sắp xếp mảng
Bài này có độ phức tạp n^2, hơi ngán
đi từ đầu đến cuối, gặp thằng nào >=0 thì thêm 1 vòng while típ để tìm thằng nào âm, rồi lưu thằng âm vào 1 biến chờ rồi dịch đoạn đó lên 1 ô, sau đó chèn thằng âm ngược lại dãy, tương tự cho thằng nào = 0. Thế là xong rùi |
|
#8
|
|||
|
|||
|
Re: [lập trình C++] Sắp xếp mảng
Dùng bubble sort nhưng thay đổi điều kiện if(a[i]>a) thành mấy cái điều kiện (a[i]==0&&a<0) thì đổi chỗ, tương tự làm thêm mấy cái if khác (a[i]<0&&a>0),(a[i]>0&&a=0) nữa thì đc kết quả không nhỉ
Lười làm quá =.=!
__________________
[CENTER][B]Ngây thơ trong sáng - thâm sâu trong tối.[/B][/CENTER] |
|
#9
|
|||
|
|||
|
Re: [lập trình C++] Sắp xếp mảng
Sory các bác. Em chưa đọc kĩ là ko được dùng mảng phụ
__________________
Người ra đi đầu không ngoảnh lại Sau lưng thềm nắng lá rơi đầy [QUOTE=invisible;22914343]Quen năm 1999, yêu năm 2002, cưới năm 2007, có rất nhiều thứ mà cả 2 đã cùng nhau vượt qua, tớ và vợ tớ khi yêu nhau đều là mối tình đầu.[/QUOTE] |
|
#10
|
|||
|
|||
|
Re: [lập trình C++] Sắp xếp mảng
Quote:
![]()
|
![]() |
|
|