原创 算法精解----插入排序

插入排序很簡單,就是換換換 我就直接貼代碼了 void insSort(int *p, int size) { int i = 0; int j = 0; int temp = 0; if (size <= 1) { re

原创 算法精解----快速排序2

前面排序方法有個很明顯的bug就是遞歸次數很多,而且遞歸進去的時候什麼也不幹。這樣非常浪費CPU資源,所以呢,現在說說另外一種快速排序的方法,這種方法和前面的不同,前面的方法是K值分別和大於它的值和小於它的值進行交換,這樣也就是說,如果發

原创 算法精解----遞歸(基本遞歸)

在看到了書之後,發現基本遞歸的確在調用的時候的確開闢了很多棧空間,如果計算量比較大的話,可能就的確很消耗系統資源,也影響計算效率。 下面示例是計算一個數的階乘,比如4!=24  = 1x2x3x4。一些同學看了之後坑定會覺得很簡單,馬上一

原创 STM32F207(3) SetSysClock

環境:STM32F207 內容:SetSysClock  STM32F207使用固件庫,怎樣設置系統時鐘 在實際講函數之前讓我們來看看這個函數的功能備註: <span style="font-size:14px;"><span st

原创 算法精解----log符號什麼意思

在將算法之前,我們先學習一個高中學習的符號----log 下面是從網上轉載的一個解答: log表示對數.如果a^n = b(a>0,且a≠1),那麼數n叫做以a爲底b的對數,記做n=log(a)b,【a是下標】其中,a叫做“底數”,b叫

原创 算法精解----遞歸(尾遞歸)

書上這樣說的:尾遞歸調用是整個函數體中最後執行的語句且它的返回值不屬於表達式的一部分時,這個遞歸調用就是尾遞歸。 什麼意思呢,就是說我們在寫遞歸函數的時候,最後執行的語句肯定是調用遞歸函數,並且在調用過程中沒有什麼加減乘除。 我們拿基本

原创 算法精解----快速排序(方式1)

前言: 快速排序工作原理就是先在序列中找到一個基準值,我稱爲K值。然後小於K的放在K的前面,大於K的放在K的後面。其實我們每操作K一次,就相當於把序列分爲兩個部分,一部分大於K,一部分小於K,就這樣周而復始。我們可以推測出平均的時間複雜度

原创 STM32F207 USART+DMA代碼+個人理解

環境:STM32F207 目的USART通過DMA通信+DMA初步理解 1.之前發送數據的方式 ①數據放到串口數據寄存器裏面 ②等待一個字節發送完成 ③重複第一二步。  看到我們平時的方式我們就會有個想法,如果我們發送五百個字節,我們就

原创 算法精解----遞歸(自我總結)

保留編輯

原创 linux變量篇(三) 命令行參數變量傳遞

環境:ubuntu10 內容:參數變量的傳遞 前言:./XXX.SH VAR1 VAR2 VAR3 ok,以下就看懂現在要講什麼了 知識整理: $*    :代表傳入的所有參數,但是所有參數連在一起看待,使用時用""包起來 $@ :代表

原创 stm32 中怎樣把變量定義到flash中

目的:將變量定義到flash中 其實寫這個是相當於一個記錄而已,突然在做字模顯示問題,想到如果將字模數據放到內存中的話,難免多了很容易出問題,不如就放在flash中,這樣就可以不去改變他 int a;a在內存中 const int a;

原创 stm32串口打印 多參數模式

環境:STM32F207 實現功能:串口printk(....)實現 引言:相信大家對串口初始化應該沒有問題了,這裏我就不做說明了,不懂得請在網上找資料,這裏我主要是講講多參數模式 void printk(char *msg,...)

原创 linux變量篇(二) 有趣的環境變量

環境:ubuntu10 內容:有趣的某些環境變量 直接上圖: 現在着重講一下PS1這個變量,爲什麼,因爲很多人有時候有個很煩惱的事,當linux切換到很深的目錄裏的時候,就如下: hh@hh-ubuntu-/xxx/xxx/xxxx/

原创 STM32F207(2) systemInit函數

環境:STM32F207 內容:SystemInit到底做了啥 Reset_Handler PROC EXPORT Reset_Handler [WEAK]

原创 nslookup命令查看域名解析出來的IP

環境:ubuntu10 命令:nslookup 使用方法:nslookup www.xxxx.com 如下圖: OK,nslookup完成