国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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使用選擇排序法對數組排序實現代碼

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产日韩欧美在线 | 久久九九国产精品 | 国产中文字幕在线 | 欧美a在线看 | 日韩成人精品在线 | 国产91精品一区二区绿帽 | 久久国产精品一区二区三区 | 黄色成人在线 | 欧美精品亚洲精品 | 凹凸日日摸日日碰夜夜爽孕妇 | 一区二区三区视频免费 | 国产精品久久久久久久久小说 | 99精品一区二区三区 | 99热在线播放 | 精品美女 | 尤物视频在线观看 | 黑人av| 亚洲成人网一区 | 在线视频 中文字幕 | 国产成人免费高清激情视频 | 激情综合亚洲 | 国内自拍视频在线观看 | 国产精品日产欧美久久久久 | 99亚洲| 成人免费黄色毛片 | 午夜视频在线观看网站 | 久久久久中文 | 在线免费观看av电影 | 亚洲成人精品在线观看 | 亚洲黄色在线视频 | 国产精品免费精品自在线观看 | 欧美激情视频一区二区三区不卡 | 狠狠综合久久av一区二区老牛 | 九九九在线 | 国产精品无码久久久久 | 四虎影院网 | 色婷婷精品久久二区二区蜜臂av | 天天干天天骑 | 久久精品综合 | 久久国产日韩 | 国产综合在线视频 |