[問題描述] 將N個(gè)關(guān)鍵字去整數(shù)的記錄進(jìn)行整序, 以使所有關(guān)鍵字為非負(fù)數(shù)的記錄排在關(guān)鍵字為負(fù)數(shù)的記錄之前,要求使用最少的附加空間,且算法的時(shí)間復(fù)雜度為O(N) [輸入] 待排序記錄個(gè)數(shù),各關(guān)鍵字的值。 [輸出] 關(guān)鍵字從正負(fù)分開,正數(shù)在前 [存儲(chǔ)結(jié)構(gòu)] 待排序記錄順序存儲(chǔ)。 [算法的基本思想] 快速排序算法每次任取一個(gè)記錄的關(guān)鍵字為標(biāo)準(zhǔn),將其余記錄分為兩組將,N個(gè)關(guān)鍵字去整數(shù)的記錄進(jìn)行整序, 以使所有關(guān)鍵字為非負(fù)數(shù)的記錄排在關(guān)鍵字為負(fù)數(shù)的記錄之前。 #include <iostream> using namespace std #define MAXNUM 100//設(shè)文件的最長可能長度 void sort(int* keys, const int len)//排序
上傳時(shí)間: 2014-01-13
上傳用戶:aig85
在視頻處理中經(jīng)常要用到Zigzag序號(hào)及其逆序號(hào),本文提供了一個(gè)新的類CZigzag,可以求任意m×n塊的Zigzag序號(hào)及其逆序號(hào)。 由于所求的Zigzag序號(hào)及其逆序號(hào)為一次性遍歷生成,其時(shí)間復(fù)雜度僅為O(m×n)。
上傳時(shí)間: 2014-01-01
上傳用戶:515414293
用鏈表實(shí)現(xiàn)的大數(shù)階乘,可以計(jì)算n萬的階乘,不過3萬以上,時(shí)間就很長了。
標(biāo)簽:
上傳時(shí)間: 2015-11-20
上傳用戶:haohaoxuexi
設(shè)計(jì)一個(gè)允許n個(gè)進(jìn)程并發(fā)運(yùn)行的進(jìn)程管理模擬系統(tǒng)。該系統(tǒng)包括有簡單的進(jìn)程控制、同步與通訊機(jī)構(gòu),其進(jìn)程調(diào)度算法可任意選擇。每個(gè)進(jìn)程用一個(gè)PCB表示,其內(nèi)容根據(jù)具體情況設(shè)置。各進(jìn)程之間有一定的同步關(guān)系(可選)。系統(tǒng)在運(yùn)行過程中應(yīng)能顯示或打印各進(jìn)程的狀態(tài)及有關(guān)參數(shù)的變化情況,以便觀察諸進(jìn)程的運(yùn)行過程及系統(tǒng)的管理過程。
標(biāo)簽: 進(jìn)程 運(yùn)行 模擬系統(tǒng) 控制
上傳時(shí)間: 2015-11-21
上傳用戶:515414293
1.計(jì)算n至少多大時(shí),以下不等式成立。 1+1/2+1/3+……+1/n>10 2.請(qǐng)分別用break和continue語句判斷1-1000以內(nèi)的素?cái)?shù)個(gè)數(shù)。 3.編寫一個(gè)程序找出100~1000之間的所有姐妹素?cái)?shù)。(注: 姐妹素?cái)?shù)是指相鄰兩個(gè)奇數(shù)均為素?cái)?shù)。)
標(biāo)簽: 計(jì)算
上傳時(shí)間: 2014-06-23
上傳用戶:z1191176801
圖論中最小生成樹Kruskal算法 及畫圖程序 M-函數(shù) 格式 [Wt,Pp]=mintreek(n,W):n為圖頂點(diǎn)數(shù),W為圖的帶權(quán)鄰接矩陣,不構(gòu)成邊的兩頂點(diǎn)之間的權(quán)用inf表示。顯示最小生成樹的邊及頂點(diǎn), Wt為最小生成樹的權(quán),Pp(:,1:2)為最小生成樹邊的兩頂點(diǎn),Pp(:,3)為最小生成樹的邊權(quán),Pp(:,4)為最小生成樹邊的序號(hào) 附圖,紅色連線為最小生成樹的圖 例如 n=6 w=inf*ones(6) w(1,[2,3,4])=[6,1,5] w(2,[3,5])=[5,3] w(3,[4,5,6])=[5,6,4] w(4,6)=2 w(5,6)=6 [a,b]=mintreek(n,w)
標(biāo)簽: mintreek Kruskal Wt Pp
上傳時(shí)間: 2015-11-30
上傳用戶:dreamboy36
利用Rijndael算法進(jìn)行任意文件的加密。把任意一個(gè)文件分成N個(gè)16字節(jié)組,最后一組若不足16字節(jié)可以用空格去補(bǔ)!
上傳時(shí)間: 2015-12-02
上傳用戶:xiaoyunyun
這是一個(gè)ACM中的題請(qǐng)大家看以下哈 如果有問題請(qǐng)多多指教 n個(gè)猴子圍坐一圈并按照順時(shí)針方向從1到n編號(hào),從第s個(gè)猴子開始進(jìn)行1到m的報(bào)數(shù),報(bào)數(shù)到第m的猴子 退出報(bào)數(shù),從緊挨它的下一個(gè)猴子重新開始1到m的報(bào)數(shù),如此進(jìn)行下去知道所有的猴子都退出為止。 求給出這n個(gè)猴子的退出的順序表。 Input 有做組測(cè)試數(shù)據(jù).每一組數(shù)據(jù)有兩行,第一行輸入n(表示猴子的總數(shù))第二行輸入數(shù)據(jù)s(從第s 個(gè)猴子開 始報(bào)數(shù))和數(shù)據(jù)m(第m個(gè)猴子退出報(bào)數(shù)).當(dāng)輸入0 0 0時(shí)表示程序結(jié)束. Output 輸出中,每組數(shù)據(jù)的輸出結(jié)果為一行,中間用逗號(hào)間隔。
上傳時(shí)間: 2014-01-01
上傳用戶:腳趾頭
本題的算法中涉及的三個(gè)函數(shù): double bbp(int n,int k,int l) 其中n為十六進(jìn)制位第n位,k取值范圍為0到n+7,用來計(jì)算16nS1,16nS2,16nS3,16nS4小數(shù)部分的每一項(xiàng)。返回每一項(xiàng)的小數(shù)部分。 void pi(int m,int n,int p[]) 計(jì)算從n位開始的連續(xù)m位的十六進(jìn)制數(shù)字。其中p為存儲(chǔ)十六進(jìn)制數(shù)字的數(shù)組。 void div(int p[]) void add(int a[],int b[]) 這兩個(gè)函數(shù)都是為最后把十六進(jìn)制數(shù)字轉(zhuǎn)換為十進(jìn)制數(shù)字服務(wù)的。 最后把1000個(gè)數(shù)字分別存儲(chǔ)在整型數(shù)組r[]中,輸出就是按順序輸出該數(shù)組。
上傳時(shí)間: 2014-01-05
上傳用戶:xcy122677
Java 版本的 PHP serialize/unserialize 完整實(shí)現(xiàn)。目前實(shí)現(xiàn)了對(duì)各種基本類型、數(shù)組、ArrayList、HashMap、和其它可序列化對(duì)象的序列化。實(shí)現(xiàn)了 PHP 5 中的Serializable 接口的支持。實(shí)現(xiàn)了 PHP 中的 __sleep 和 __wakeup 魔術(shù)方法的支持。實(shí)現(xiàn)了對(duì)所有標(biāo)示(N、b、i、d、s、a、O、R、r、U、C)的反序列化,在對(duì)標(biāo)示 a 反序列化時(shí),可以根據(jù)下標(biāo)和值來自動(dòng)判斷是 ArrayList 還是 HashMap。并且在反序列化時(shí)可以強(qiáng)制指定反序列化的類型。該類是靜態(tài)類,無需也不能被實(shí)例化。除了包含了 serialize 和 unserialize 方法以外,還增加了一個(gè) cast 方法,用來進(jìn)行反序列化后的類型轉(zhuǎn)換,該方法主要用于將反序列化后的 ArrayList 轉(zhuǎn)化為數(shù)組或者 HashMap。
標(biāo)簽: unserialize ArrayList PHP serialize
上傳時(shí)間: 2016-01-06
上傳用戶:奇奇奔奔
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1