亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日日夜夜精品视频天天综合网| 欧美精品一区二区三| 欧美日韩国产一二三| 91精品国产色综合久久不卡蜜臀| 精品国内二区三区| 中文字幕乱码久久午夜不卡| 一区二区三区免费在线观看| 秋霞av亚洲一区二区三| 成熟亚洲日本毛茸茸凸凹| 色婷婷综合激情| 欧美一卡二卡三卡四卡| 亚洲国产电影在线观看| 亚洲一区二区偷拍精品| 久久66热偷产精品| 99久久婷婷国产| 欧美电影免费观看高清完整版 | 免费美女久久99| 国产成人免费视频| 欧美日韩免费在线视频| 2021国产精品久久精品| 亚洲精品视频一区二区| 激情久久久久久久久久久久久久久久| www.性欧美| 日韩丝袜美女视频| 自拍偷拍国产精品| 精品在线你懂的| 日本久久一区二区| 久久久亚洲综合| 无吗不卡中文字幕| eeuss鲁片一区二区三区在线看| 欧美一区二区三区小说| 亚洲人成在线播放网站岛国| 国产乱子伦一区二区三区国色天香| 日本精品裸体写真集在线观看| 久久亚洲综合色| 日韩av二区在线播放| 99re免费视频精品全部| 国产午夜三级一区二区三| 亚洲成人综合在线| av电影天堂一区二区在线 | 国产一区二区三区精品视频| 在线免费观看一区| 日本一区二区久久| 精品在线免费观看| 日韩一区二区在线播放| 一区二区三区不卡视频在线观看| 国产精品99久| 日韩午夜在线播放| 性感美女久久精品| 色综合久久综合| 国产精品视频第一区| 韩国精品一区二区| 欧美大片在线观看一区二区| 亚洲电影中文字幕在线观看| 97久久精品人人爽人人爽蜜臀| 国产婷婷色一区二区三区| 韩国毛片一区二区三区| 日韩午夜av电影| 男男成人高潮片免费网站| 欧美卡1卡2卡| 亚洲影视资源网| 91黄视频在线| 亚洲人成网站精品片在线观看| 成人激情图片网| 亚洲国产精品高清| 国产suv精品一区二区三区| 久久亚洲免费视频| 国产精品一区二区不卡| 久久久久久久久免费| 国产在线精品国自产拍免费| 久久免费午夜影院| 国产成人综合在线| 国产女人18水真多18精品一级做 | 精品国产制服丝袜高跟| 视频在线观看91| 欧美一区永久视频免费观看| 日韩一区欧美二区| 欧美妇女性影城| 日韩精品成人一区二区在线| 欧美酷刑日本凌虐凌虐| 人人爽香蕉精品| 欧美大胆人体bbbb| 韩国成人精品a∨在线观看| 久久免费的精品国产v∧| 处破女av一区二区| 综合久久国产九一剧情麻豆| 在线免费观看一区| 亚洲成av人片www| 91精品国产综合久久精品麻豆| 日本欧美一区二区三区| 日韩欧美一卡二卡| 国产在线不卡一区| 欧美激情在线一区二区三区| 99久久夜色精品国产网站| 亚洲三级在线免费| 欧美色精品在线视频| 日本免费新一区视频| 欧美精品一区二区在线观看| 国产精品亚洲а∨天堂免在线| 国产精品污网站| 欧美这里有精品| 男人的天堂久久精品| 国产情人综合久久777777| 色香蕉久久蜜桃| 秋霞午夜av一区二区三区| 精品国内片67194| 99国产精品一区| 三级欧美在线一区| 国产亚洲欧美日韩俺去了| 色综合天天综合| 香蕉久久夜色精品国产使用方法| 精品伦理精品一区| yourporn久久国产精品| 亚州成人在线电影| 国产色婷婷亚洲99精品小说| 日本电影欧美片| 久久丁香综合五月国产三级网站| 亚洲国产精品黑人久久久| 欧美无人高清视频在线观看| 韩国av一区二区三区| 伊人夜夜躁av伊人久久| 欧美成va人片在线观看| 91色视频在线| 国产综合久久久久影院| 亚洲精选免费视频| 26uuu色噜噜精品一区二区| 99综合电影在线视频| 日本在线不卡视频| 国产精品视频一区二区三区不卡| 欧美日韩国产一二三| 国产99久久久国产精品| 天堂在线一区二区| 国产色婷婷亚洲99精品小说| 欧美欧美欧美欧美| 北条麻妃国产九九精品视频| 久久黄色级2电影| 亚洲乱码日产精品bd| 精品剧情在线观看| 欧美自拍偷拍午夜视频| 国产精品一区二区在线看| 婷婷六月综合网| 日韩久久一区二区| 久久精品无码一区二区三区| 欧美美女喷水视频| 99国产精品国产精品毛片| 国产乱码字幕精品高清av| 肉丝袜脚交视频一区二区| 亚洲少妇最新在线视频| 久久久亚洲精品石原莉奈 | 激情国产一区二区| 亚洲成av人片在线| 国产精品成人免费精品自在线观看 | 久久久久久亚洲综合影院红桃| 欧美日韩在线直播| 91美女视频网站| 国产成人精品免费一区二区| 捆绑调教一区二区三区| 亚洲成a人v欧美综合天堂下载| 最新欧美精品一区二区三区| 国产清纯在线一区二区www| 日韩欧美一区二区久久婷婷| 欧美二区三区91| 欧美主播一区二区三区| 一本一道久久a久久精品| 岛国av在线一区| 国产在线一区观看| 免费人成黄页网站在线一区二区 | 欧美区一区二区三区| 日本精品一级二级| 色综合一区二区三区| 91亚洲永久精品| 99免费精品在线观看| 成人黄色av电影| 成人在线一区二区三区| 国产成人午夜99999| 久久不见久久见免费视频1 | 亚洲精品在线观看视频| 777午夜精品免费视频| 欧美性大战久久久久久久蜜臀 | 亚洲欧美乱综合| 中文字幕亚洲视频| 亚洲欧洲日产国码二区| 国产精品私房写真福利视频| 久久先锋影音av鲁色资源| 久久亚区不卡日本| 国产日韩av一区二区| 国产欧美一区二区精品秋霞影院 | 国产精品影音先锋| 国产一区二区三区黄视频 | 欧美欧美午夜aⅴ在线观看| 欧美日韩夫妻久久| 欧美久久免费观看| 欧美一区二区成人| 在线综合视频播放| 日韩丝袜美女视频| 久久久久久久性| 国产精品素人一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲二区在线视频| 日韩av电影免费观看高清完整版 |