一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java使用選擇排序法對數組排序實現代碼

Java使用選擇排序法對數組排序實現代碼

2019-11-07 12:52java教程網 JAVA教程

這篇文章主要介紹了Java使用選擇排序法對數組排序實現代碼,需要的朋友可以參考下

編寫程序,實現將輸入的字符串轉換為一維數組,并使用選擇排序法對數組進行排序。

思路如下:

點擊"生成隨機數"按鈕,創建Random隨機數對象;
使用JTextArea的setText()方法清空文本域;
創建一個整型一維數組,分配長度為10的空間;
初始化數組元素,使用Random類的nextInt()方法生成50以內的隨機數,使用JTextArea類的append()方法把數組元素顯示在文本域控件中;
點擊"排序"按鈕,使用JTextArea類的setText()方法清空文本域;
使用雙層for循環,對從第二個元素到最后一個元素的每一趟排序,對該趟排序所涉及的元素進行遍歷,查找最大值對應的數組下標;
交換在位置array.length-i和index(最大值)兩個數,使得每趟排序后找到的最大值都在該趟排序所涉及的數列的最后;
使用for循環遍歷數組,使用Random類的append方法把排序后的數組元素顯示到文本域中。
代碼如下:

 

復制代碼代碼如下:

import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;

public class SelectSort extends JFrame {

    /**
     * 
     */
    private static final long serialVersionUID = 6824538613659403529L;
    private JPanel contentPane;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    SelectSort frame = new SelectSort();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public SelectSort() {
        setTitle("使用選擇排序法對數組排序");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        GridBagLayout gbl_contentPane = new GridBagLayout();
        gbl_contentPane.columnWidths = new int[] { 0, 0 };
        gbl_contentPane.rowHeights = new int[] { 0, 0, 0, 0, 0 };
        gbl_contentPane.columnWeights = new double[] { 1.0, Double.MIN_VALUE };
        gbl_contentPane.rowWeights = new double[] { 1.0, 0.0, 1.0, 0.0,
                Double.MIN_VALUE };
        contentPane.setLayout(gbl_contentPane);

        JScrollPane scrollPane = new JScrollPane();
        GridBagConstraints gbc_scrollPane = new GridBagConstraints();
        gbc_scrollPane.insets = new Insets(0, 0, 5, 0);
        gbc_scrollPane.fill = GridBagConstraints.BOTH;
        gbc_scrollPane.gridx = 0;
        gbc_scrollPane.gridy = 0;
        contentPane.add(scrollPane, gbc_scrollPane);

        textArea1 = new JTextArea();
        scrollPane.setViewportView(textArea1);

        JButton button = new JButton("生成隨機數");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                do_button_actionPerformed(e);
            }
        });
        GridBagConstraints gbc_button = new GridBagConstraints();
        gbc_button.insets = new Insets(0, 0, 5, 0);
        gbc_button.gridx = 0;
        gbc_button.gridy = 1;
        contentPane.add(button, gbc_button);

        JScrollPane scrollPane_1 = new JScrollPane();
        GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints();
        gbc_scrollPane_1.insets = new Insets(0, 0, 5, 0);
        gbc_scrollPane_1.fill = GridBagConstraints.BOTH;
        gbc_scrollPane_1.gridx = 0;
        gbc_scrollPane_1.gridy = 2;
        contentPane.add(scrollPane_1, gbc_scrollPane_1);

        textArea2 = new JTextArea();
        scrollPane_1.setViewportView(textArea2);

        JButton button_1 = new JButton("排序");
        button_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                do_button_1_actionPerformed(e);
            }
        });
        GridBagConstraints gbc_button_1 = new GridBagConstraints();
        gbc_button_1.gridx = 0;
        gbc_button_1.gridy = 3;
        contentPane.add(button_1, gbc_button_1);
    }

    private int[] array = new int[10];
    private JTextArea textArea1;
    private JTextArea textArea2;

    protected void do_button_actionPerformed(ActionEvent e) {
        Random random = new Random();// 創建隨機數對象
        textArea1.setText("");// 清空文本域
        for (int i = 0; i < array.length; i++) {// 初始化數組元素
            array[i] = random.nextInt(50);// 生成50以內的隨機數
            textArea1.append(array[i]+"  ");// 把數組元素顯示的文本域控件中
        }
    }

    protected void do_button_1_actionPerformed(ActionEvent e) {
        textArea2.setText("");// 清空文本域
        int index;
        for (int i = 1; i < array.length; i++) {
            index = 0;
            for (int j = 1; j <= array.length - i; j++) {
                if (array[j] > array[index]) {
                    index = j;// 查找最大值
                }
            }
            // 交換在位置array.length-i和index(最大值)兩個數
            int temp = array[array.length - i];
            array[array.length - i] = array[index];
            array[index] = temp;
        }
        for (int i = 0; i < array.length; i++) {
            textArea2.append(array[i] + "  ");// 把排序后的數組元素顯示到文本域中
        }
    }
}

 

效果如圖:

Java使用選擇排序法對數組排序實現代碼

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 全肉一女n男np高h乳 | 亚洲国产精品嫩草影院久久 | 波多野结衣家庭教师 | 日本在线观看www | 国产精品视频视频久久 | 天堂8在线天堂资源bt | 香蕉人人超人人超碰超国产 | 星星动漫无删减在线观看 | 色视频亚洲 | 午夜爽喷水无码成人18禁三级 | 毛片一区二区三区提莫影院 | 美女扒开奶罩让男人吃奶 | 国精品午夜dy8888狼人 | 91夜夜操| 九九99在线视频 | 9总探花新品牛仔背带裤 | 嫩草影院永久入口在线观看 | 成人福利网站含羞草 | 日韩视频在线免费 | 色婷婷六月丁香在线观看 | 天天干夜夜噜 | 91大神亚洲影视在线 | 色综合久久中文字幕网 | 国产精品永久免费10000 | 亚洲精品在线看 | 97视频免费人人观看人人 | 美女被吸乳老师羞羞漫画 | 亚洲黄色图 | 青草青草久热精品视频在线网站 | 我要看靠逼片 | 亚洲网视频 | 2021国产麻豆剧传媒剧情动漫 | 性派对videos18party | 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 被18号每天强行榨干acg | 91精品综合久久久久久五月天 | 免费真实播放国产乱子伦 | 成人高辣h视频一区二区在线观看 | 2021国产精品成人免费视频 | 亚洲一区二区三区91 | 色姑娘久久 |