最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java使用選擇排序法對數(shù)組排序?qū)崿F(xiàn)代碼

 更新時(shí)間:2014年02月18日 16:05:26   作者:  
這篇文章主要介紹了Java使用選擇排序法對數(shù)組排序?qū)崿F(xiàn)代碼,需要的朋友可以參考下

編寫程序,實(shí)現(xiàn)將輸入的字符串轉(zhuǎn)換為一維數(shù)組,并使用選擇排序法對數(shù)組進(jìn)行排序。

思路如下:

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

復(fù)制代碼 代碼如下:

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("使用選擇排序法對數(shù)組排序");
        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("生成隨機(jī)數(shù)");
        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();// 創(chuàng)建隨機(jī)數(shù)對象
        textArea1.setText("");// 清空文本域
        for (int i = 0; i < array.length; i++) {// 初始化數(shù)組元素
            array[i] = random.nextInt(50);// 生成50以內(nèi)的隨機(jī)數(shù)
            textArea1.append(array[i]+"  ");// 把數(shù)組元素顯示的文本域控件中
        }
    }

    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(最大值)兩個(gè)數(shù)
            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] + "  ");// 把排序后的數(shù)組元素顯示到文本域中
        }
    }
}

效果如圖:

相關(guān)文章

  • Java網(wǎng)絡(luò)編程中的TCP/UDP詳解

    Java網(wǎng)絡(luò)編程中的TCP/UDP詳解

    這篇文章主要介紹了Java網(wǎng)絡(luò)編程中的TCP/UDP詳解,網(wǎng)絡(luò)編程是指編寫運(yùn)行在多個(gè)設(shè)備的程序,這些設(shè)備都通過網(wǎng)絡(luò)連接起來,java.net 包中 J2SE 的 API 包含有類和接口,它們提供低層次的通信細(xì)節(jié),需要的朋友可以參考下
    2023-12-12
  • PowerJob的TimingStrategyHandler工作流程源碼解讀

    PowerJob的TimingStrategyHandler工作流程源碼解讀

    這篇文章主要為大家介紹了PowerJob的TimingStrategyHandler工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Java 判斷兩個(gè)字符串是否由相同的字符組成的實(shí)例

    Java 判斷兩個(gè)字符串是否由相同的字符組成的實(shí)例

    今天小編就為大家分享一篇Java 判斷兩個(gè)字符串是否由相同的字符組成的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Spring從@Aspect到Advisor使用演示實(shí)例

    Spring從@Aspect到Advisor使用演示實(shí)例

    這篇文章主要介紹了Spring從@Aspect到Advisor使用演示實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02
  • 從0到1學(xué)SpringCloud之SpringCloud?gateway網(wǎng)關(guān)路由配置示例詳解

    從0到1學(xué)SpringCloud之SpringCloud?gateway網(wǎng)關(guān)路由配置示例詳解

    Spring?Cloud?Gateway的目標(biāo)提供統(tǒng)一的路由方式且基于Filter?鏈的方式提供了網(wǎng)關(guān)基本的功能,?例如:安全、監(jiān)控、指標(biāo)和限流?,這篇文章主要介紹了從0到1學(xué)SpringCloud之SpringCloud?gateway網(wǎng)關(guān)路由配置示例詳解,需要的朋友可以參考下
    2023-04-04
  • Java如何確定兩個(gè)區(qū)間范圍是否有交集

    Java如何確定兩個(gè)區(qū)間范圍是否有交集

    這篇文章主要介紹了Java如何確定兩個(gè)區(qū)間范圍是否有交集問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 關(guān)于Mybatis實(shí)體別名支持通配符掃描問題小結(jié)

    關(guān)于Mybatis實(shí)體別名支持通配符掃描問題小結(jié)

    MyBatis可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄,這篇文章主要介紹了Mybatis實(shí)體別名支持通配符掃描的問題,需要的朋友可以參考下
    2022-01-01
  • 詳解Java豆瓣電影爬蟲——小爬蟲成長記(附源碼)

    詳解Java豆瓣電影爬蟲——小爬蟲成長記(附源碼)

    這篇文章主要介紹了詳解Java豆瓣電影爬蟲——小爬蟲成長記(附源碼) ,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-12-12
  • SpringBoot中的跨域詳解

    SpringBoot中的跨域詳解

    這篇文章主要介紹了SpringBoot中的跨域詳解,在瀏覽器上當(dāng)前訪問的網(wǎng)站,向另一個(gè)網(wǎng)站發(fā)送請求,用于獲取數(shù)據(jù)的過程就是跨域請求,跨域是瀏覽器的同源策略決定的,是一個(gè)重要的瀏覽器安全策略,需要的朋友可以參考下
    2023-08-08
  • Spring Boot 靜態(tài)資源處理

    Spring Boot 靜態(tài)資源處理

    今天小編就為大家分享一篇關(guān)于Spring Boot 靜態(tài)資源處理,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論

浦北县| 枞阳县| 淳化县| 嘉峪关市| 综艺| 县级市| 沧州市| 尤溪县| 临泽县| 江门市| 台中县| 临朐县| 大悟县| 灵台县| 察哈| 扎赉特旗| 红安县| 巴东县| 梧州市| 潢川县| 积石山| 察哈| 青海省| 阿合奇县| 昌吉市| 合阳县| 巫溪县| 湛江市| 张家港市| 汕头市| 洪湖市| 铜陵市| 方正县| 曲阳县| 清水县| 花垣县| 和顺县| 绥德县| 沐川县| 齐齐哈尔市| 云浮市|