Shannoncoding (一)信源符號的排序

2021-07-10 02:55:22 字數 545 閱讀 3989

#include

int main()

int i=0,j=0,m=0,n=0;

int b[150][150]=}; //該二維陣列用來儲存信源符號及其出現的次數

char input;

/*輸入信源符號並累加其次數*/

while((input=getchar())!='\n')

/*兩個for迴圈實現氣泡排序*/

for(i=65;i<=122;i++)

for(j=65;j<=122;j++)

}/*按照出現次數由大至小輸出信源符號*/

for(i=65;i<=122;i++)

for(j=65;j<=122;j++)

if(b[i][j]>0)

printf("%c:%d",j,b[i][j]);

return

0;}

以上**實現對輸入的一串信源符號按照出現次數的排序,重點在於排序後如何使次數仍與原符號對應,通過引入二維陣列b[i][j],j儲存字元,陣列值儲存次數,得以解決。

一 訊號 Linux C(四)

如果乙個程序同時收到標準訊號和實時訊號,優先響應標準訊號。實時訊號存放檔案 usr include x86 64 linux gnu bits signum.h 這兩個是未定義訊號留給使用者的 undef sigusr1 define sigusr1 10 undef sigusr2 define ...

Metasploit學習筆記(一) 資訊收集

一 滲透測試中資訊收集的主要任務 確定滲透測試目標的範圍。通過資訊收集,發現滲透目標的安全漏洞。二 通過dns挖掘目標網路資訊 whois網域名稱資訊查詢。進行whois查詢時去掉www ftp等字首。dig 功能同nslookup,一般為權威解答。語法如下 dig 待查詢網域名稱 後面再加上a n...

Linux訊號機制(一) 訊號

在linux中訊號是程序間通訊的重要手段,訊號可以通知乙個程序發生了什麼,訊號的產生是突發事件,所以也被稱為 軟體中斷 通過檢視檔案了解到訊號是巨集定義的常量,以sig開頭 值得注意的是 不存在值為0的訊號,值為0的訊號稱為空訊號,kill函式對值為0的訊號有特殊的應用 當乙個程序收到乙個訊號,有三...