亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ex5.java

?? java實現最小堆操作
?? JAVA
字號:
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;

import javax.swing.*;

public class Ex5 extends JFrame implements ActionListener
{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	JTextField field1;
	JTextField field2;
    JButton buttonAppend;
    JButton buttonDelete;
    JButton buttonelem[][];
 
    Container container;
    int Column=1;
    int count=1;
    int countleft=1;
    Heap heapNow;
    Vector<Integer> value=new Vector<Integer>(1);
	
	Ex5()
    {
        super("數據結構實驗5--最小堆操作040824409解旻");
        field1 = new JTextField(5);
        field2=new JTextField(3);
        buttonAppend = new JButton("添加新元素");
        buttonDelete = new JButton("刪除堆頂");

        JPanel jpanel = new JPanel();
        jpanel.setLayout(new GridLayout(1, 4, 15, 0));
        jpanel.add(new JLabel("待添加的整數[-999, 999]:"));
        jpanel.add(field1);
        jpanel.add(buttonAppend);
        buttonAppend.addActionListener(this);
        jpanel.add(buttonDelete);
        buttonDelete.addActionListener(this);
       
        container = getContentPane();
        container.add(jpanel, "North");
        
        container.add(new JLabel("按照最小堆算法進行操作,操作結果將在堆中顯示"), "South");
        buttonAppend.setEnabled(true);
        buttonDelete.setEnabled(false);
        setSize(1020, 400);
        setDefaultCloseOperation(3);
        setVisible(true);

    }

    public void actionPerformed(ActionEvent actionevent)
    {
        JButton jbutton = (JButton)actionevent.getSource();
        if(jbutton == buttonAppend)
        {
            String s = field1.getText();
            s = s.trim();
            int num = 0;
            try
            {
                num = Integer.parseInt(s);
            }
            catch(NumberFormatException numberformatexception)
            {
                JOptionPane.showMessageDialog(this, "您所輸入的內容不能轉換成整數,請修改");
                return;
            }
            if(num < -999 || num > 999)
            {
                JOptionPane.showMessageDialog(this, "您所輸的內容不在[-999, 999]之間,請修改");
                return;
            }
            
            if(count==31)
            	buttonAppend.setEnabled(false);
            
            if(count==countleft*2){
            	countleft=count;
            	Column++;
            }
            
            value.setSize((int)(Math.pow(2, (double)Column)-1));
            value.set(count-1, num);
            
            heapNow=new Heap(value);
            heapNow.HeapSort();
            count++;
            showHeap(heapNow);
            
            buttonDelete.setEnabled(true);
            field1.requestFocus();
            field1.selectAll();
            return;
        }
        if(jbutton == buttonDelete)
        {
        	if(count-1==countleft){
            	countleft=countleft/2;
            	Column--;
            }
        	count--;
        	if(count==1){
        		container.add(new JButton("Empty Heap"),"Center");
        		buttonDelete.setEnabled(false);
        		container.validate();
        		countleft=1;
        		Column=1;
        		return;
        	}
        	heapNow.HeapDel();
            showHeap(heapNow);
            
            buttonAppend.setEnabled(true);
            return;
        } else
        {
            return;
        }
    }
    
    public void showHeap(Heap heap){
    	 JPanel ajpanel[] = new JPanel[Column];
         for(int i = 0; i < Column ; i++){
         	ajpanel[i] = new JPanel();
         	ajpanel[i].setLayout(new GridLayout(1,(int)(Math.pow(2, (double)i))));
         }
        
     
        
         buttonelem = new JButton[Column][];
         int j = 1;
         for(int k = 0; k <Column ; k++)
         {
             buttonelem[k] = new JButton[j];
             for(int l = 0; l < j; l++)
             {
                 buttonelem[k][l] = new JButton();
                 buttonelem[k][l].setEnabled(false);
                 ajpanel[k].add(buttonelem[k][l]);
                 try{
                	 if(heap.val.get((int)(Math.pow(2, (double)k)-1+l))!=null)
                		 buttonelem[k][l].setText(String.valueOf(heap.val.get((int)(Math.pow(2, (double)k)-1+l))));
                 }catch(ArrayIndexOutOfBoundsException exp){
                	 
                 }
             }

             j *= 2;
         }
         JPanel jpanel1 = new JPanel();
         
         jpanel1.setLayout(new GridLayout(Column, 1));
         for(int i = 0; i < Column; i++)
             jpanel1.add(ajpanel[i]);
         JScrollPane jscrollpane = new JScrollPane(jpanel1);
         
         container.add(jscrollpane, "Center");
         container.validate();
    	
    }



    public static void main(String args[])
    {
        new Ex5();
    }  
    
}

class Heap{
	Vector<Integer> val;
	Heap(Vector<Integer>value){
		val=value;
	}
	
	public void HeapAdjust(int s,int m){
		int rc=val.get(s-1);
		for(int j=2*s;j<=m;j*=2){
			if(j<m&&val.get(j-1)>val.get(j))
				++j;
			if(rc<val.get(j-1))
				break;
			val.set(s-1, val.get(j-1));
			s=j;
		}
		val.set(s-1, new Integer(rc));
	}
	
	public void HeapSort(){
		int tot=0;
		for(int i=0;i<val.size();i++){
			if(val.get(i)!=null)
				tot++;
			
		}
		
		
		for(int i=tot/2;i>0;--i){
			HeapAdjust(i,tot);
		}
	}
	
	public void HeapDel(){
		int tot=0;
		for(int i=0;i<val.size();i++){
			if(val.get(i)!=null)
				tot++;
			
		}
		val.set(0, val.get(tot-1));
		val.setSize(tot-1);
		
		HeapAdjust(1,tot-1);

	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av免费观看| 亚洲五码中文字幕| 精品欧美乱码久久久久久 | 国产精选一区二区三区| 午夜a成v人精品| 五月激情综合色| 美女网站视频久久| 狠狠久久亚洲欧美| 国产成人免费9x9x人网站视频| 国产99久久久精品| 91免费视频网| 3d动漫精品啪啪| 久久久综合精品| 亚洲欧美色一区| 午夜精品123| 不卡的av中国片| 91极品美女在线| 777午夜精品免费视频| 精品久久久久久久久久久久久久久 | 亚洲精品在线网站| 国产欧美视频在线观看| 亚洲欧美日韩国产一区二区三区 | 久久久久久电影| 亚洲少妇最新在线视频| 亚洲成a人在线观看| 激情小说亚洲一区| 一本到不卡精品视频在线观看| 欧美色欧美亚洲另类二区| 日韩午夜激情电影| 亚洲欧洲精品一区二区精品久久久| 亚洲美女淫视频| 久久99日本精品| 91激情在线视频| 久久―日本道色综合久久| 亚洲丝袜制服诱惑| 奇米色一区二区三区四区| 成人久久视频在线观看| 欧美日韩国产高清一区二区| 日韩欧美在线网站| 国产精品福利一区| 久久成人久久鬼色| 欧美视频三区在线播放| 国产亚洲欧美在线| 日本中文在线一区| 97超碰欧美中文字幕| 欧美福利电影网| 中文字幕佐山爱一区二区免费| 亚洲成a人在线观看| av中文字幕不卡| 欧美精品一区二区三区在线| 亚洲电影视频在线| 91视频国产观看| 久久久99久久| 久久99久久久欧美国产| 91精选在线观看| 亚洲欧洲日韩在线| 国产主播一区二区| 91麻豆精品国产91久久久使用方法| 亚洲同性gay激情无套| 国产福利一区二区三区视频| 91麻豆精品国产自产在线 | 国产aⅴ综合色| 欧美色成人综合| 伊人夜夜躁av伊人久久| 不卡的av在线播放| 国产精品无人区| 成人h动漫精品| 国产精品成人免费精品自在线观看| 国产乱国产乱300精品| 精品久久久久久久久久久久久久久 | 寂寞少妇一区二区三区| 欧美日韩国产中文| 日韩成人一级片| 欧美一区欧美二区| 麻豆久久久久久| 日韩精品一区二区在线| 激情小说欧美图片| 久久久久久久久久久久久女国产乱| 日韩精品一区第一页| 欧美丝袜丝交足nylons图片| 亚洲制服丝袜av| 3d动漫精品啪啪| 蜜桃av噜噜一区二区三区小说| 69久久夜色精品国产69蝌蚪网| 日韩精彩视频在线观看| 欧美一区二区三区播放老司机| 日韩电影免费在线| 26uuu精品一区二区在线观看| 国产乱理伦片在线观看夜一区| 欧美国产欧美综合| 日本韩国一区二区三区| 亚洲一区二区在线观看视频| 91精品黄色片免费大全| 激情另类小说区图片区视频区| 久久免费国产精品| 99久久国产免费看| 午夜欧美在线一二页| 91精品国产综合久久久久久漫画| 天堂一区二区在线| 久久久亚洲国产美女国产盗摄 | 亚洲一区在线播放| 777午夜精品免费视频| 美女诱惑一区二区| 中文字幕精品一区| 欧美人成免费网站| 国产成人av资源| 亚洲一卡二卡三卡四卡 | 国产欧美一区二区精品婷婷| 91一区二区三区在线观看| 制服丝袜亚洲网站| 丁香天五香天堂综合| 亚洲激情六月丁香| 欧美不卡视频一区| 在线视频你懂得一区| 亚洲动漫第一页| 日韩欧美一区在线| 99久久精品国产一区| 日本女人一区二区三区| 国产精品久久久久影院老司| 91精品啪在线观看国产60岁| 不卡av在线网| 国内不卡的二区三区中文字幕 | 欧美一区二区久久| 97se亚洲国产综合自在线观| 久久精品72免费观看| 亚洲综合色网站| 国产精品欧美一区喷水| 精品播放一区二区| 欧美片在线播放| 日本高清不卡一区| 成人精品一区二区三区中文字幕| 日本人妖一区二区| 亚洲18色成人| 亚洲精品国产一区二区精华液| 国产午夜久久久久| 精品国产伦理网| 日韩一级大片在线观看| 欧美日韩另类一区| 精品视频免费看| 欧美日韩一区 二区 三区 久久精品| 成人一道本在线| 成人黄色免费短视频| 国产福利一区二区三区| 久久电影网电视剧免费观看| 香蕉加勒比综合久久 | 91精品欧美综合在线观看最新 | 精品美女被调教视频大全网站| 欧美日韩国产另类不卡| 欧洲精品中文字幕| 91国偷自产一区二区三区成为亚洲经典| 国产69精品久久777的优势| 国产精品自产自拍| 久久精品国产999大香线蕉| 蜜桃视频第一区免费观看| 美女任你摸久久| 精品无人区卡一卡二卡三乱码免费卡 | 99精品一区二区三区| 国产精品自产自拍| 成人在线视频首页| 色婷婷久久久综合中文字幕| 色综合久久久久综合体桃花网| 日本福利一区二区| 欧美另类一区二区三区| 欧美一级高清片| 久久久蜜桃精品| 日本一区二区成人| 亚洲青青青在线视频| 亚洲成人一区二区| 美美哒免费高清在线观看视频一区二区| 青青草国产成人99久久| 国产一区二区三区观看| youjizz久久| 56国语精品自产拍在线观看| 日韩三区在线观看| 国产精品久久久久久久久免费相片 | 天天综合色天天| 看国产成人h片视频| 不卡的av网站| 正在播放亚洲一区| 亚洲国产岛国毛片在线| 亚洲精品日韩综合观看成人91| 日本大胆欧美人术艺术动态| 国产一级精品在线| 色综合天天综合给合国产| 7777精品伊人久久久大香线蕉完整版 | 91精品欧美久久久久久动漫 | 天天色图综合网| 国产一区 二区| 欧美日韩精品高清| 久久久亚洲高清| 亚洲高清免费视频| 韩国女主播一区二区三区| 色综合久久久久综合体桃花网| 制服丝袜国产精品| 亚洲精品免费在线| 高清不卡在线观看| 精品美女被调教视频大全网站| 亚洲青青青在线视频| 国产九色sp调教91| 欧美精品电影在线播放|