Time of Update: 2018-12-03
1 __declspec(selectany) 的作用是什麼 在MFC,ATL的原始碼中充斥著__declspec(selectany) 的聲明。selectany可以讓我們在.h檔案中初始化一個全域變數而不是只能放在.cpp中。比如有一個類,其中有一個靜態變數,那麼我們可以在.h 中通過類似" __declspec(selectany) type class::variable = value;
Time of Update: 2018-12-03
使用方法: 1.建立一個基於對話方塊的用用程式,在其中加入三個Radio Button,ID分別為: IDC_RADIO1,IDC_RADIO2,IDC_RADIO3 2.控制項的初始化: 在對話方塊類的OnInitDialog中加入代碼: CheckRadioButton(IDC_RADIO1, //第一個參數為該組的第一個選項按鈕的ID IDC_RADIO3, //第二個參數為該組的最後一個選項按鈕的ID IDC_RADIO3); //第三個參數為該組中被選中的選項按鈕的ID
Time of Update: 2018-12-03
冒泡排序是非常容易理解和實現,,以從小到大排序舉例:設數組長度為N。1.比較相鄰的前後二個資料,如果前面資料大於後面的資料,就將二個資料交換。2.這樣對數組的第0個資料到N-1個資料進行一次遍曆後,最大的一個資料就“沉”到數組第N-1個位置。3.N=N-1,如果N不為0就重複前面二步,否則排序完成。 按照定義很容易寫出代碼://冒泡排序1void BubbleSort1(int a[], int n){ int i, j; for (i = 0; i < n;
Time of Update: 2018-12-03
題目:某公司有幾萬名員工,請完成一個時間複雜度為O(n)的演算法對該公司員工的年齡作排序,可使用O(1)的輔助空間。思路:歸併,快排,插入,等排序最快為o(nlgn)的時間複雜度 要達到o(n)的時間複雜度 只有計數排序,桶排序,基數排序法才能達到考慮到公司員工入職和離職的年齡範圍是固定的都是介於 1-100之間的數,所以可以通過計數排序來解決問題那麼計數排序究竟是什麼思路呢,當然類似雜湊表的數組,遍曆員工表
Time of Update: 2018-12-03
如題,為了實現在同一項目中實現各個mxml介面間的跳轉和資料傳遞,查了不少資料,寫了一個執行個體發上來一起學習下,也許這不是最好的方式,希望有更好實現方式的朋友分享下。說明:這是一個簡單的登陸執行個體,一共有4個mxml介面,分別為:main.mxml,login.mxml,welcome.mxml,failure.mxml,其中main為主應該程式入口。實現邏輯,登陸成功則把登陸名傳遞到welcome介面中並顯示登陸成功資訊,否則顯示失敗介面並3秒後自動跳轉到登陸介面。main.mxml
Time of Update: 2018-12-03
迴文串定義:“迴文串”是一個正讀和反讀都一樣的字串,比如“level”或者“noon”等等就是迴文串。迴文子串,顧名思義,即字串中滿足迴文性質的子串。經常有一些題目圍繞迴文子串進行討論,比如POJ3974最長迴文,求最長迴文子串的長度。樸素演算法是依次以每一個字元為中心向兩側進行擴充,顯然這個複雜度是O(N^2)的,關於字串的題目常用的演算法有KMP、尾碼數組、AC
Time of Update: 2018-12-03
這道題很有意思,看了使用sprintf後果然覺得 掌握好c語言庫函數有著很好的優勢O(n)的時間複雜度,只需判斷前後兩個元素,做累加即可,感覺很有意思代碼如下#include "stdio.h"#include "string.h"int main(){char str[1024];char temp[1024];int i=0,len;int count =1;temp[0]='\0';scanf("%s",str);len =
Time of Update: 2018-12-03
//這題如果仔細一點兒分析,結果就出來了!題意:給出一個數,通過從1到N的連續數的運算而得出這個數//(兩個數之間的符號只可以是+或-),求最小的N。 //先通過求從1到N的前N項和,如果是小於這個num數的,肯定滿足不了,所以繼續相加!如果是可以等於num的情況之下,就得出了結果,可以輸出!//如果找不到相加和等於num這個數的,就肯定是大於這個num數的了,就只有通過變換數與數之間的符號(即換成-號)來得出這個數了!//
Time of Update: 2018-12-03
IncrediBuild是一個協同編譯工具,對於大型vc項目來說,幾乎是一個必備品。廢話不多說,基本上有幾台電腦裝了IncrediBuild,編譯速度就是原來的幾倍,很強很暴力。 IncrediBuild有30天的試用期限,到期後就不能使用。很久以前做過一個時間清零工具,有需要的同學可以下載試用。當然如果是公司使用者,建議還是說服部門主管去買一套,絕對物有所值。
Time of Update: 2018-12-03
1 首先建立一個MFC(EXE)的工程, 選擇DIALOG 模式,在面板上添加一個button, 和一個LISTBOX 控制項,LISTBOX添加一個對象 CLISTBOX m_listBox.2 點擊查詢按鈕之後,在該響應函數中建立新進程,該進程完成對註冊表的訪問。3,新進程訪問註冊表,去得訪問結果,發送回RegOpen 介面響應。在MFC中添加自己定義的訊息詳情請參考前2篇文章。詳細代碼如下:void CRegOpenDlg::OnBnClickedReach(){// TODO:
Time of Update: 2018-12-03
在pc上調試的時候按鍵會被處理兩次,原因是:註冊裝置的時候,註冊了兩個可用的裝置,一個是linux input,一個是keyboard,而這個兩個裝置又分別建立了兩個線程去讀keyboard,所以就上報了兩次給上層的directfb應用程式解決辦法:刪掉inputdrivers目錄下的一個裝置的so檔案或只註冊一個裝置 輸入事件流程分析:無論是兩種裝置建立的線程去讀的輸入事件,最終都會調用 input.c中的 dfb_input_dispatch往上報,上層接收事件有兩種方式: 1
Time of Update: 2018-12-03
轉自:http://blog.csdn.net/mrdone/article/details/4868741前些天弄一個訪問ACCESS資料庫的小東西,費了些力氣才弄好。雖然還有些不盡人意,但是終究還是可以用了,在這裡分享一下自己的實現方法和經驗。裡面的東西網上都有,但是,這裡的是最全的。VC/MFC訪問ACCESS資料庫方法1:1 建立一個基於對話方塊的應用程式。 放入兩個ActiveX 控制項 Microsoft ADO Data Control,version 6.0 ... 和
Time of Update: 2018-12-03
第一步:定義訊息。開發Windows95應用程式時,Microsoft推薦使用者自訂訊息至少是WM_USER+100,因為很多新控制項也要使用WM_USER訊息。 第二步:實現訊息處理函數。該函數使用WPRAM 和 LPARAM 參數並返回LPESULT。 LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam) { // TODO: 處理使用者自訂訊息 ... return 0; } 第三步:
Time of Update: 2018-12-03
AS指令檔是文字檔,你可以使用任意的文本編輯工具編輯它並將它儲存在任意位置。要用AS來控制Flash元素,那麼就得將AS代碼按照一定的規則跟Flash關聯起來,一般而言,將AS代碼跟Flash關聯起來的方法有四種。第一,將AS代碼寫Flash的幀上,這是最直觀,最容易上手的方式。但是,除了實驗之外,我們不建議你這麼做;第二,將AS代碼寫到外部指令檔中,然後用#include關鍵字插入到幀上。這種方法比第一種方法要進步一些,可以將設計和代碼分開儲存到不同地方。然而,本質上它跟第一種方法沒有太大區別
Time of Update: 2018-12-03
題目:在數組中,數字減去它右邊的數字得到一個數對之差。求所有數對之差的最大值。例如在數組{2, 4, 1, 16, 7, 5, 11, 9}中,數對之差的最大值是11,是16減去5的結果。思路分析:數組需要求出左邊的最大值,和右邊的最小值,那麼數對之差就為左邊最大值減去右邊最小值可以將數組劃分,那麼數對之差最大值 可能有三種情況1 左邊數組數對之差 2 右邊數組數對之差3 左邊最大值 減去右邊最小值分治法解決#include "stdio.h"#include "stdlib.h"int
Time of Update: 2018-12-03
一、問題的提出編寫一個耗時的單線程程式: 建立一個基於對話方塊的應用程式SingleThread,在主對話方塊IDD_SINGLETHREAD_DIALOG添加一個按鈕,ID為IDC_SLEEP_SIX_SECOND,標題為“延時6秒”,添加按鈕的響應函數,代碼如下:void CSingleThreadDlg::OnSleepSixSecond() {Sleep(6000);
Time of Update: 2018-12-03
1.簡單的define定義 #define MAXTIME 1000 一個簡單的MAXTIME就定義好了,它代表1000,如果在程式裡面寫 if(i
Time of Update: 2018-12-03
直接插入排序(Insertion Sort)的基本思想是:每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子序列中的適當位置,直到全部記錄插入完成為止。 設數組為a[0…n-1]。1. 初始時,a[0]自成1個有序區,無序區為a[1..n-1]。令i=12. 將a[i]併入當前的有序區a[0…i-1]中形成a[0…i]的有序區間。3. i++並重複第二步直到i==n-1。排序完成。 下面給出嚴格按照定義書寫的代碼(由小到大排序): void
Time of Update: 2018-12-03
題目描述: http://cs.scu.edu.cn/soj/problem.action?id=2932解題思路 : 優先隊列 + BFS;#include<iostream>#include<functional>#include<algorithm>#include<vector>#include<queue>using namespace std;struct edge{int des;int len;int
Time of Update: 2018-12-03
工程連結http://download.csdn.net/detail/a527606652/4874823經VS2010編譯通過// 學產生績管理系統.cpp : 定義控制台應用程式的進入點。//#include "stdafx.h"#include "ManageStu.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ ManageStu