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

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

?? sortdlg.cpp

?? 用Visual C++實現排序算法大全
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// sortDlg.cpp : implementation file
//

#include "stdafx.h"
#include "sort.h"
#include "sortDlg.h"
#include "SortObject.h"
#include <math.h>
#include <time.h>
#include <afxmt.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define PI 3.1415926

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSortDlg dialog

CSortDlg::CSortDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSortDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSortDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSortDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSortDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSortDlg, CDialog)
	//{{AFX_MSG_MAP(CSortDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_COMMAND(IDM_Disperse_Member, OnDisperseMember)
	ON_COMMAND(IDM_CREAT_NUMBER, OnCreatNumber)
	ON_COMMAND(IDM_Muster_Member, OnMusterMember)
	ON_COMMAND(IDM_Bubble_Sort, OnBubbleSort)
	ON_COMMAND(IDM_Exchange_Sort, OnExchangeSort)
	ON_COMMAND(IDM_Selection_Sort, OnSelectionSort)
	ON_COMMAND(IDM_INSERT_SORT, OnInsertSort)
	ON_COMMAND(IDM_QUICK_SORT, OnQuickSort)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSortDlg message handlers

BOOL CSortDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CSortDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CSortDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CSortDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CSortDlg::OnDisperseMember() 
{
	CRect rect;
	GetClientRect (&rect) ;
	CClientDC dc (this) ;
	dc.SetBkColor(RGB(100,100,255));
	dc.FillRect(&rect,&CBrush(RGB(100,100,255)));
	//將待排序的對象分布在一個圓上
	for(int i=0;i<SORT_OBJECT_NUM;i++)
	{
		//繪制外框
		dc.DrawEdge(&CRect(
			rect.right/2+150*cos(2*PI*i/10.0)-10,
			rect.bottom/2+150*sin(2*PI*i/10.0)-10,
			rect.right/2+150*cos(2*PI*i/10.0)+10,
			rect.bottom/2+150*sin(2*PI*i/10.0)+10),
			BDR_RAISEDINNER,
			BF_RECT
			);
		//顯示待排序對象名
		CString strName;
		strName.Format("%d",i);		
		dc.TextOut(rect.right/2+150*cos(2*PI*i/10.0)-5,
			rect.bottom/2+150*sin(2*PI*i/10.0)-8,
			strName);		
	}
}

void CSortDlg::OnCreatNumber() 
{
	// TODO: Add your command handler code here
	CRect rect;
	GetClientRect (&rect) ;
	CClientDC dc (this) ;

    dc.FillRect(&CRect(0,0,250,150),&CBrush(RGB(100,100,255)));

	dc.SetBkColor(RGB(100,100,255));
	// Seed the random-number generator with current time
    srand( (unsigned)time( NULL ) );
	//產生SORT_OBJECT_NUM個3位或4位的數字
	for( int i = 0; i < SORT_OBJECT_NUM;i++ )
	{
		//產生3位或4位數字
		int temp;
		temp = rand();
		if(temp%2==0)  //產生3位數字
		{
			while(temp%1000 < 100)
			{
				temp = rand();				
			}
			sortObject[i].iNumber = temp%1000;
		}
		else           //產生4位數字
		{ 
			while(temp%10000 < 1000)
			{
				temp = rand();				
			}
			sortObject[i].iNumber = temp%10000;
		}   
		//賦予名字和初始序號
		sortObject[i].iName = i;
		sortObject[i].iSeq = i;
		//顯示獲得的數字
		CString strNum;
		strNum.Format("%4d",sortObject[i].iNumber);		
		dc.TextOut(rect.right/2+150*cos(2*PI*i/10.0)-15,
			rect.bottom/2+150*sin(2*PI*i/10.0)-30,
			strNum);	
	}	
}

void CSortDlg::OnMusterMember() 
{
	CClientDC dc (this) ;
    dc.FillRect(&CRect(0,0,250,150),&CBrush(RGB(100,100,255)));

	CRect rect;
	GetClientRect(&rect) ;
	InitObjectCoord(rect);

	dc.SetBkColor(RGB(100,100,255));
	dc.FillRect(&rect,&CBrush(RGB(100,100,255)));

	for(int i=0;i<SORT_OBJECT_NUM;i++)
	{
		//繪制外框
		dc.DrawEdge(&CRect(
			objectCoord[i].x-10,
			objectCoord[i].y-10,
			objectCoord[i].x+10,
			objectCoord[i].y+10),
			BDR_RAISEDINNER,
			BF_RECT
			);
		//顯示待排序對象名
		CString strName;
		strName.Format("%d",i);		
		dc.TextOut(objectCoord[i].x-5,
			objectCoord[i].y-8,
			strName);	
		//顯示獲得的數字
		CString strNum;
		strNum.Format("%4d",sortObject[i].iNumber);		
		dc.TextOut(objectCoord[i].x-15,
			objectCoord[i].y-30,
			strNum);	
	}
}

void CSortDlg::OnBubbleSort() 
{
	CClientDC dc (this) ;
	dc.SetBkColor(RGB(100,100,255));
	dc.FillRect(&CRect(0,0,250,150),&CBrush(RGB(100,100,255)));
	int objectName[SORT_OBJECT_NUM]; //每個位置對應的待排序對象名
	//初始化每個位置對應的待排序對象名
	for(int i=0;i<SORT_OBJECT_NUM;i++)
	{
		objectName[i] = i;
	}
	TRACE("\n");			
	for(int w=0;w<SORT_OBJECT_NUM;w++)
	{
		TRACE("%d ",sortObject[objectName[w]].iNumber);
	}
	//冒泡排序
	for(i=1;i<SORT_OBJECT_NUM;i++) 
	{ 
		for(int j=SORT_OBJECT_NUM-1;j>=i;j--) 
		{ 
			
			if(sortObject[objectName[j]].iNumber < sortObject[objectName[j-1]].iNumber) 
			{ 				
				//交換序號
				int iTemp;
				iTemp = sortObject[objectName[j-1]].iSeq; 
				sortObject[objectName[j-1]].iSeq = sortObject[objectName[j]].iSeq; 
				sortObject[objectName[j]].iSeq = iTemp; 
				//交換對象名
				iTemp = objectName[j];
				objectName[j] = objectName[j-1];
                objectName[j-1] = iTemp;
                //顯示變化
				CString strName;
				CString strNum;				
				//顯示j-1位置的對象
				strName.Format("%d",sortObject[objectName[j-1]].iName);		
				dc.TextOut(objectCoord[sortObject[objectName[j-1]].iSeq].x-5,
					objectCoord[sortObject[objectName[j-1]].iSeq].y-8,
					strName);
				if(sortObject[objectName[j-1]].iNumber<1000)
				{				
					strNum.Format("  %d",sortObject[objectName[j-1]].iNumber);
				}
				else
				{
					strNum.Format("%d",sortObject[objectName[j-1]].iNumber);
				}
				dc.TextOut(objectCoord[sortObject[objectName[j-1]].iSeq].x-15,
					objectCoord[sortObject[objectName[j-1]].iSeq].y-30,
					strNum);
				//顯示j位置的對象
				strName.Format("%d",sortObject[objectName[j]].iName);		
				dc.TextOut(objectCoord[sortObject[objectName[j]].iSeq].x-5,
					objectCoord[sortObject[objectName[j]].iSeq].y-8,
					strName);
				if(sortObject[objectName[j]].iNumber<1000)
				{
					strNum.Format("  %d",sortObject[objectName[j]].iNumber);		
				}
				else
				{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区精品久久av| 亚洲精品老司机| 欧美一区二区精品在线| 国产精品一区二区你懂的| 午夜精品久久久久久不卡8050| 国产制服丝袜一区| 国产成人欧美日韩在线电影| 天天射综合影视| 欧美日韩中字一区| 另类小说综合欧美亚洲| 国产日韩精品一区二区三区在线| 国产成人综合亚洲网站| 亚洲同性gay激情无套| 色系网站成人免费| 99久久精品免费观看| 国内精品在线播放| 裸体在线国模精品偷拍| 日韩理论片中文av| 亚洲欧洲三级电影| 1区2区3区国产精品| 日韩毛片在线免费观看| 亚洲欧美中日韩| 亚洲欧美另类久久久精品2019| 国产精品护士白丝一区av| 日韩欧美在线不卡| 亚洲自拍欧美精品| 制服.丝袜.亚洲.另类.中文 | 视频一区视频二区中文字幕| 亚洲激情自拍偷拍| 国产精品白丝在线| 一区二区三区在线高清| 中文字幕一区二区三区视频| 日韩精品中文字幕在线一区| 欧美成人乱码一区二区三区| 日韩一区二区三区免费看| 欧美一区二区精品在线| 欧美精品一区二区三区久久久| 国产亚洲欧美在线| 亚洲欧美经典视频| 亚洲国产日韩a在线播放| 青青草原综合久久大伊人精品优势| 另类欧美日韩国产在线| 捆绑变态av一区二区三区| 不卡电影一区二区三区| 一本大道av一区二区在线播放| 91精品在线免费观看| 精品久久久久久久久久久久久久久| 精品少妇一区二区三区| 中文字幕国产一区二区| 亚洲一二三区在线观看| 免费高清成人在线| 成人中文字幕合集| 在线亚洲一区二区| 91精品国产综合久久小美女 | 国产欧美一区二区精品忘忧草 | 成人亚洲一区二区一| 日韩一区二区免费电影| 日韩欧美中文字幕制服| 国产日本欧美一区二区| 伊人色综合久久天天人手人婷| 日韩中文欧美在线| 国产成人在线视频网站| 91黄色免费看| 精品欧美黑人一区二区三区| 国产精品国产精品国产专区不蜜 | 亚洲国产综合91精品麻豆| 日本sm残虐另类| 成人免费av网站| 欧美精品黑人性xxxx| 国产日产精品1区| 亚洲成人综合在线| 国产成人精品www牛牛影视| 91丨九色丨蝌蚪丨老版| 日韩一区二区三区免费观看| 中文字幕一区二区三区精华液| 丝袜美腿高跟呻吟高潮一区| 国产美女久久久久| 欧美日韩国产免费一区二区| 国产日韩在线不卡| 亚洲激情图片qvod| 国产成人免费xxxxxxxx| 91麻豆精品国产91久久久| 一区二区三区四区国产精品| 国产乱码精品一区二区三区忘忧草| 欧美亚洲一区二区三区四区| 中文字幕免费观看一区| 国内欧美视频一区二区| 欧美日韩你懂的| 国产亚洲精品免费| 国产一区二区视频在线播放| 91精品91久久久中77777| 自拍视频在线观看一区二区| 精品在线免费视频| 欧美一区二区三区在线观看视频 | 美腿丝袜亚洲综合| 91精品国产手机| 亚洲尤物在线视频观看| 成人丝袜18视频在线观看| 日韩欧美高清dvd碟片| 天天色图综合网| 在线视频国产一区| 国产精品国产馆在线真实露脸| 国产在线一区二区综合免费视频| 欧美日韩成人在线| 一二三四社区欧美黄| 99久久国产综合精品色伊| 欧美高清在线一区二区| 韩国v欧美v日本v亚洲v| 日韩精品在线一区二区| 日本亚洲免费观看| 在线不卡欧美精品一区二区三区| 国产精品美女视频| 精品亚洲成a人| 日韩一区二区三区四区| 一区二区三国产精华液| 欧美日韩视频一区二区| 亚洲美女电影在线| 91啪亚洲精品| 亚洲色图在线看| 91视频xxxx| 国产精品你懂的在线欣赏| 韩国三级电影一区二区| 精品国产凹凸成av人导航| 久热成人在线视频| 精品1区2区在线观看| 精品一区二区三区在线播放视频| 日韩欧美国产成人一区二区| 天堂av在线一区| 欧美精品一二三| 美女免费视频一区二区| 日韩精品专区在线影院观看| 九九视频精品免费| 久久精品欧美一区二区三区麻豆| 国产精品一区二区在线观看网站| 精品久久久久久亚洲综合网| 国产麻豆精品视频| 欧美国产激情一区二区三区蜜月| 成人黄动漫网站免费app| 成人欧美一区二区三区视频网页| 91社区在线播放| 蜜臀久久久99精品久久久久久| 精品国产伦一区二区三区观看方式 | 日韩欧美国产三级电影视频| 日产国产高清一区二区三区| 久久蜜桃av一区二区天堂| 国产91高潮流白浆在线麻豆 | 国产精品久久久久久久久快鸭| 色婷婷av一区二区| 午夜精品影院在线观看| 久久精品一区二区三区av| 9i在线看片成人免费| 天天综合天天综合色| 久久一日本道色综合| 91免费观看视频在线| 青青草原综合久久大伊人精品优势| 午夜精品成人在线视频| 日韩视频免费观看高清完整版 | 欧美日产国产精品| 日韩二区在线观看| 国产精品日产欧美久久久久| 欧美在线观看你懂的| 国产乱码精品一区二区三区五月婷| 亚洲人成网站色在线观看| 26uuu欧美| 色呦呦网站一区| 国模娜娜一区二区三区| 亚洲在线视频网站| 久久九九久久九九| 欧美日韩一区高清| 成人激情图片网| 麻豆中文一区二区| 亚洲自拍欧美精品| 国产精品私人影院| 一本色道久久综合狠狠躁的推荐| 精久久久久久久久久久| 一区二区三区高清| 日本一区二区三区国色天香| 欧美日精品一区视频| thepron国产精品| 久久电影网站中文字幕| 亚洲国产综合在线| 中文字幕不卡一区| 精品久久久久久久久久久久久久久| 色噜噜狠狠色综合中国| 久久精品99国产国产精| 亚洲成人激情av| 1024成人网| 久久久久久久久免费| 欧美精品九九99久久| 国产经典欧美精品| 奇米色一区二区| 亚洲国产欧美另类丝袜| 国产欧美日韩不卡免费| 日韩精品一区二| 欧美美女一区二区| 色综合久久久久网| 国产成人av影院| 精品一区二区三区欧美| 六月丁香婷婷久久| 日本免费在线视频不卡一不卡二|