原创 關於中綴轉後綴表達式的樹型算法

將近兩個月沒刷題,編程真是一點手感都沒了。昨天晚上找了這個題,雖然原來用棧做過計算器,但是這次還是花了大概3個小時來做。編程還是得多練啊。 此題是NYOJ第257題。 一開始拿到題目。我首先就是想按照棧來做。但是自己試着寫了一下,但是

原创 linux 下malloc的探究

前幾天看《操作系統:精髓與設計原理》的虛擬存儲系統的時候想到個問題,一個程序是否可以無限制的分配內存空間。今天剛好有點時間,就寫了個小程序試了試。 程序如下 #include<stdio.h> #include<stdlib.h> i

原创 彙編總結-第三部分_1_內聯彙編

想要用匯編實現的代碼有哪幾種方式? 1.      直接從頭開始用匯編寫。 2.      先寫好C程序,然後通過-S選項來修改。 3.      直接在C中代碼嵌入彙編的代碼,也就是所謂的內聯彙編   如何實現內聯彙編代碼? asm(“

原创 斐波拉契搜索(費氏搜尋法)

 剛纔搜這個算法。百度出的結果帶紅字的好少。。貌似很少人用?搜索出來的都是一本書上的內容,而且還用的原創標記。。。那本書上講的感覺也不大清楚。所以我就來簡單介紹一下這個算法的思路吧。  其實也簡單。這個搜索和二分搜索是一致的。如果要找的數

原创 NYOJ--743

 拿到這個題找規律找了好久...畫了半天才發現規律...結果網上一搜..就是C(M,N)的求取啊..坑啊..  先說簡單的思路..循環的遞增其實就是從一個長度爲n的遞增序列,然後每個數都不一樣,從中找出m個數..所以直接就是C(M,N).

原创 關於程序的bss段,堆區,棧區的一些學習。

 寫彙編總結引發的思考,總結這東西還真是得多寫。  在學習彙編的時候,書上並沒有區分堆棧的區別。並且沒有說明bss和堆不是一個東西,搞得我以爲堆和bss就是一個東西。 所以我就納悶,malloc是從堆中分配空間,那麼爲什麼分配后里面的值不

原创 彙編總結-第一部分_1_AT&T彙編的基本介紹

這個總結先在wps上已經寫完放很久了。之前由於考試,沒來得及放上來。現在一次性都放上來吧~ 剛看完彙編,由於是借學校的書,所以就把關鍵知識點寫在博客上了. 參考的是richard blum的<彙編語言程序設計>,看豆瓣上面分數蠻高的.

原创 彙編總結-第一部分_2_linux下彙編的相關工具

 一個彙編程序員至少應該有下面這些工具: 1.彙編器 2.連接器 3.調試器 彙編器自然不用說,就是將彙編代碼轉換成目標代碼的程序.注意是目標代碼,windows平臺上的可能會理解成最終的二進制代碼,原因其實就是你們所用的IDE真的是給你

原创 C語言中一些亂七八糟的用法與細節(不斷更新)

用C語言比較多,這篇是平時攢下的。有些內容在工作後可能會很常見,但是不用容易忘,所以就寫篇博客吧。 一.printf的用法 %*可以用來跳過字符,可以用於未知縮進。像下面一樣. for(i = 1; i < 10; i++) {

原创 彙編總結-第一部分_3_彙編的程序組成

下面進入彙編程序怎麼編程的介紹。    之前我就說過彙編的段一般分爲3種 ·數據段   .data ·bss段    .bss ·文本段   .text PS;  不要忘了,本質上都是二進制代碼.也就是說bss和數據段都是可移植的.爲了給

原创 彙編總結-第二部分_2_數據處理

關於流程控制的太過簡單,所以就在這裏簡單介紹一下。後面寫數據處理。   彙編之中想要轉變位置只能使用類似C語言中goto的模式,也就是跳轉指令 跳轉指令分爲下面3類。 ·短跳轉 偏移量128字節之內的跳轉。 ·近跳轉 所有其餘跳轉 ·遠跳

原创 配置Opencv的遇到的一些麻煩..

 本來以爲裝個庫很簡單的..結果按照網上的流程走還是出了很多錯誤.這裏就總結一下吧.方便後人...  1.VC6.0只能安裝2.0以下的opencv的版本. 剛開始我不知道有這個情況..所以自然出錯了.下了個2.44的弄去配置,發現很多

原创 關於指針,地址總線的一些思考。

記得以前看到有人說一個進程最大隻有4G。這個問題是一個看百度知道上面一個人說的。但是不知道是怎麼來的。前些天又看到一個人問void *指針是多大。我告訴他所有C語言指針都是4個字節。羣裏馬上有人反駁,然後就查了一下。發現還真不是。於是問題

原创 彙編總結-第二部分_1_數據傳送

這一篇主要說明數據傳送的問題。   首先,在AT&T彙編中的數據也是分類的。我記得學win16彙編的時候沒有這個概念,只知道可以按寄存器的高低位來傳送數據。下面是win32彙編的幾種命令:   .ascii 文本字符串(不帶’\0’

原创 VC6.0如何查看二維數組的平面圖(比較水的方法)

 剛纔百度了一下..居然發現沒有幾個答案..所以自己摸索了一下..找了一個比較齪的方法..  其實很簡單..但是不夠直觀..具體方法如下:  在debug的時候,點擊查看->調試窗口->memory.  然後將二維數組的數組名打上去就OK