c++ 實現快速排序與二分尋找 原始碼

今天閑來無事,寫寫快速排序與二分尋找的代碼,也給自己回顧一篇。 以下的代碼都是我經vc2005 測試通過的。//劃分區間函數  最主要的函數int Partitionfun(int * intarray,int i,int j){ int key = intarray[i]; //排序的主元值 while(i<j) {  while(i<j&&intarray[j]>=key) j--;  if (i<j)  {   intarray[i]=

最簡單的C++中調用LUA函數原始碼

#include "stdafx.h"#include <iostream>extern "C" {#include "lua.h"#include "lauxlib.h"#include "lualib.h"}#pragma  comment(lib,"lua51.lib")using namespace std;int LuaAdd(lua_State* L,int x,int y){int

在C++中使用Apache的Log4cxx記錄日誌帖)

1.介紹Log4cxx是開放原始碼項目Apache Logging Service的子項目之一,是Java社區著名的log4j的c++移植版,用於為C++程式提供日誌功能,以便開發人員對目標程式進行調試和審計。有關log4cxx的更多資訊可以從Apache Logging Service的網站http://logging.apache.org獲得。當前的穩定版本為0.9.7,本文內容及範例程式碼都是基於此版本。此外,範例程式碼的編譯環境為Windows環境中的Microsoft Visual

MoveFile, MoveFileEx, CopyFile的幾點心得 C++

關鍵字:MoveFile, MoveFileEx, CopyFile, 檔案唯讀屬性, 檔案隱藏屬性,GetFileAttributes, SetFileAttributes, 檔案屬性的讀取與設定1. 檔案的唯讀和隱藏屬性對函數的影響1.1 移動操作(MoveFile和MoveFileEx)testcase 1: 設源檔案為c:/file1, 目標檔案file2, 且目標檔案不存在。測試結果:

C#自訂控制項的3種方式

很多時候我們需要使用到自訂控制項 而在C#中 我們主要以3中方式建立自訂控制項,還有些需要注意的地方時常被忽略 比如Click事件,使用者控制項的Click並不像系統的Button單擊1.繼承自.NET類庫中已有的控制項 如TextBox MenuStrip Pannel2.繼承自Control類3.繼承自UserControl類 下面是3個小樣本1.繼承自類庫中現有的控制項下面自訂一個ExtendTextBox 該控制項擴充了一個屬性,可以現在文字框只能輸入數字,字母或者所有字元 1

C風格的字串

今天在學習C語言中字串的處理時,一直對這個問題感到費解: char  *str1 = "This is a string!";char  *str2 = "String";strcpy(str1, str2); 對於以上的程式段,編譯能通過,但是一運行就報“段錯誤”。一直百思不得其解,現在終於搞清楚了。 對於C 語言中的字串char *str = "This is a string!";         //str是一個字串常量,即是const char*char  str[] = "This

Visual C++編程疑難問題解(一)

原文請參考:http://www.yesky.com/20030211/1651565.shtml[前言:]編程中遇到的問題很多,再優秀的程式員也不會沒有問題,但很多解決方案被淹沒在論壇浩瀚的“水”中了,為了便於同道查詢同時儲存這些精華,我將在實際編程中常見的問題以及論壇中優秀的回貼收集起來以專題的形式發表。本文中的所有問題及回答均來自論壇。問題一:如何?指定盤符的光碟機彈出彈入鑰匙在這裡:void ctrl_cdrom_door(LPCTSTR drivename ,//磁碟機的名字如f:等.

漢諾塔問題演算法(c語言控制台動畫示範版)

遞迴思想非常簡單也是最常見的演算法之一,其中一代表例題就是漢諾塔問題。解題的演算法很簡單:void Hanoi(int n,int A,int B,int C){    if(n>0)    {        Hanoi(n-1,a,c,b);        move(a,b);            show();                 Hanoi(n-1,c,b,a);   

C語言中幾個與臨時檔案操作相關的函數

1.FILE * tmpfile ( void );建立一個二進位臨時檔案,並以"wb+"模式開啟,函數成功返迴文件流指標,失敗則返回NULL。這個臨時檔案會在目前的目錄所在的磁碟根目錄下。如果建立的臨時檔案數目不超過TMP_MAX(stdio.h中)且磁碟空間充足,函數調用則不會失敗。這個臨時檔案會在使用者調用fcolse關閉檔案時自動刪除臨時檔案。2.char * tmpnam ( char * str );產生一個唯一的臨時檔案名稱。This string can be used to

C++標準庫中簡單智能指標auto_ptr的模仿實現源碼

#ifndef _SMART_PTR_H#define _SMART_PTR_Htemplate <class T>class CSmartPtr{private:template <class Y>class CSmartPtrRef{private:Y * m_pY;public:CSmartPtrRef(Y * p):m_pY(p){}Y * get() const throw();};T * m_pT;public:/* 建構函式 */explicit

c++中的對象大小

sizeof操作符返回運算元的大小,現在我們來單獨對class的sizeof操作進行分析。首先,對於空類:class BASE{};對其進行sizeof操作: sizeof(BASE)

C++中const的使用

const就是為了表述“不變化的值”這樣一個概念,這在一些實際的問題環境中非常有用。例如: 1.許多個物件在初始化之後就不需要再改變自己的值 2.與使用文字量相比(字面常量),採用符號常量寫出的代碼更容易維護 3.指標常常是邊讀邊移動,而不是邊寫邊移動,STL中const迭代器就是很好的例子 4.許多函數的參數是唯讀,C標準庫中就有很多這樣的函數,例如strcpy,strcat,strlen const int model;

直接選擇排序(C++描述)

void StraightSelectionSort(int array[], unsigned int n){ /* 註:關鍵字實值型別為int,數組的索引是從0開始 1. 初始狀態無序區為array【0, n - 1】,有序區為空白。 2. 第1趟排序從array【0, n - 1】中找到下標為k的關鍵字最小值,把array【k】和 array【0】交換。現在無序區為array【1, n - 1】, 有序區為array【0, 0】。 第2趟排序... 第3趟排序... ... 3.

Factory 方法模式(C++描述)

Factory 方法模式是對簡單原廠模式的改進。首先看看簡單原廠模式的缺點。軟體是之所以區別於程式,是因為它可以被人們使用,並能間接創造效益。需求是軟體開發的核心,忽視使用者的需求,軟體本身就沒有存在的價值。假如Nokia又新開發了一款新手機N99,對於採用簡單原廠模式設計的系統,我們的做法是:1.新增一個CN99類繼承自CNokia抽象類別,這個符合OCP原則。註:OCP:Open-Closed Principle開閉原則。OCP關注的是靈活性,改動是通過增加代碼進行的,而不是改動現有的代碼。

簡單原廠模式(C++描述)

一.簡單原廠模式又稱靜態Factory 方法模式(Static Factory Method),它不是Gof 所講的23種設計模式之一,但是它卻是我們在編碼過程中經常使用的方法之一。 1.靜態Factory 方法統一管理對象的建立。靜態Factory 方法通過傳入的參數判斷決定建立哪一個產品的執行個體,封裝了對象的建立,用戶端只管消費,實現了對責任(模組)的分割。2.靜態Factory

C++單例類對象的執行個體化和銷毀

在程式中,如果new了一個對象,那麼就應該負責對象的delete,但是如果這個對象是一個單例類的執行個體,那麼對象銷毀的時候就可能出現一些問題,例如Person是一個單例的類,但是同時有A,B,C三個人new了一個Person類的對象,那麼A,B,C三個人得到的是同一個執行個體對象,但是可能發生A在用完這個對象之後執行了delete操作,導致仍然在使用這個對象的B,C出現錯誤。   

emacs常用配置-注釋/反注釋C++代碼

.emacs配置如下:(defun qiang-comment-dwim-line (&optional arg) "Replacement for the comment-dwim command." (interactive "*P") (comment-normalize-vars) (if (and (not (region-active-p)) (not (looking-at "[ \t]*$")))

getline() C/C++差異

C++原型(Win32和Linux):#include <iostream>istream& getline ( istream &is , string &str , char delim );istream& getline ( istream& , string&

c/c++標準預定義宏

C標準中的一些預定義宏昨天寫代碼時需要在代碼擷取當前編譯時間,從而可動態地作為版本資訊,因此用到了C標準中的一些預定義的宏。在此將C標準中定義的幾個宏一併總結一下:__DATE__ 進行預先處理的日期(“Mmm dd yyyy”形式的字串文字,如May 27 2006) __FILE__ 代表當前原始碼檔案名稱的字串文字 ,包含了詳細路徑,如G:/program/study/c+/test1.c __LINE__ 代表當前原始碼中的行號的整數常量 __TIME__ 源檔案編譯時間,格式微“hh:

C++時間函數簡單記錄

1,計時函數clock_t clock ( void );返回從“開啟這個程式進程”到“程式中調用clock()函數”時之間的時鐘計時單元(clock tick)數。標頭檔:<time.h>或者<ctime>#ifndef _CLOCK_T_DEFINEDtypedef long clock_t;#define _CLOCK_T_DEFINED#endif將clock_t轉換成秒的操作second = clock /

總頁數: 4314 1 .... 1276 1277 1278 1279 1280 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.