مرتب سازی آرایه در جاوا

+1
+26
1394/03/16 0 484 م.مطلبی

در این بخش می خواهیم به وسیله یک تمرین عملی دیگر عناصر ذخیره شده درون یک آرایه را مرتب نماییم. توضیح الگوریتم این پروژه هدف ما از این آموزش نمی باشد . لذا در صورت که مایل به آشنایی با عملکرد این الگوریتم  هستید می توانید از منابع موجود ، روش مرتب سازی حبابی را مطالعه کنید. در این پروژه می خواهیم برای اجرای خواسته خود از اپلت ها استفاده کنیم.

به همین منظور پروژه ایجاد شده در دروس قبلی را باز کنید و کلاس جدیدی با نام subsun_class_20 به پکیج subsun_package اضافه کنید. و درون آن را بصورت زیر پر نمایید و سپس آن را ذخیره کنید.


package subsun_package;

import java.awt.*;
import javax.swing.*;

public class subsun_class_20 extends JApplet {
     
        public void init(){
    
             JTextArea outputArea = new JTextArea();
             Container container = getContentPane();
             container.add( outputArea );
             int array[] = { 34, 24, 5, 2, 14, 67, 54, 87, 23, 98 };
             String output = " آرایه اولیه : \n";
             for ( int counter = 0; counter < array.length; counter++ )
                         output += "    " + array[ counter ];
             bubble_Sort( array ); // sort array

             output += "\n\n نتیجه مرتب سازی حبابی :\n";
             for ( int counter = 0; counter < array.length; counter++ )
                             output += "    " + array[ counter ];
             outputArea.setText( output );
        }
        
        public void bubble_Sort( int array2[] ){
                    for ( int pass = 1; pass < array2.length; pass++ ) {
                         for ( int element = 0;element < array2.length - 1;element++ )
                         {
                                 if ( array2[ element ] > array2[ element + 1 ] )
                                            swap( array2, element, element + 1 );
                         }
                    }
         }
        
        public void swap( int array3[], int first, int second ){
                            int hold;
                            hold = array3[ first ];            
                            array3[ first ] = array3[ second ];
                            array3[ second ] = hold;
        }
}

حال می خواهیم دستورات بالا را مورد بررسی قرار دهیم . در این دستورات ابتدا با استفاده از دستور import تمامی کلاس های موجود در بسته java.awt را به برنامه اضافه کرده ایم . توجه شود که کلاس JApplet نیز در این بسته قرار دارد .

با استفاده از دستور import تمامی کلاس های بسته javax.swing را نیز به برنامه های خود اضافه نموده ایم. سپس نوبت به تعریف کلاس اپلت می رسد . همانطور که در بالا مشاهده می نمایید کلاس subsun_class_20 از کلاس JApplet ارث بری کرده است .در ادامه کار مطابق تمامی برنامه هایی که در آن اپلت نویسی رخ می دهد. عملیات مقدار دهی اولیه درون متد init صورت می پذیرد . در خطوطی از دستورات که مشاهده می نمایید.بخشی را ، که می خواهیم خروجی برنامه در آن نمایش داده شود را تعریف می کنیم .سپس آرایه مورد نظر خورد را تعریف کرده و بصورت دستی مقدار دهی می کنیم . اکنون مقادیر ذخیره شده در آرایه را با استفاده از یک حلقه for نمایش می دهیم . حال متد bubble_Sort  که در ادامه تعریف شده است را فراخوانی می کنیم . وظیفه این متد مرتب سازی آرایه به صورت حبابی می باشد. پس از انجام وظیفه متد با استفاده از یک حلقه for دیگر عناصر آرایه مرتب شده را در خروجی نمایش می دهیم . در بدنه متد bubble_Sort هر یک از عناصر آرایه با عنصر بعدی مقایسه می شود و در صورتی که عنصر بزرگتر از عنصر بعدی باشد آنگاه با یکدیگر جابجا می شوند . عملیات جابجایی عناصر با استفاده از متد swap صورت می پذیرد.در این پروژه می خواهیم مرتب سازی بصورت صعودی انجام شود و عملیات مقایسه عناصر  و جابجایی در صورت لزوم برای دیگر عناصر آرایه انجام می شود.حال زمان مشاهده عملکرد دستورات می رسد.فایل subsun_class_20 را در Package Explorer ایکلیپس انتخاب کنید و آن را اجرا کنید.

نتیجه اجرای مرتب سازی حبابی در جاوا

همانگونه که در بالا مشاهده می شود. ابتدا آرایه اولیه و سپس آرایه مرتب شده به صورت صعودی نمایش داده می شود.

دیدگاه ها (0)

ارسال دیدگاه ها

Image CAPTCHA
حروف نمایش داده شده در تصویر را وارد کنید.