尋找最小的 K 個元素

題目:輸入 n 個整數, 輸出其中最小的 K 個. 思路:建立一個大小為 k 的大頂堆,  如果新的數小於堆頂數, 則替換它, 然後重新調整堆.最後輸出 K 個數時, 按堆排序的思想全部有序排列, 輸出 K 個數. 實現代碼:#include <stdio.h>#include <stdlib.h>void AdjustHeap(int *heap, int k, int pos);void DoHeap(int *heap, int k, int item);void

訂閱”新聞聯播”文字標題到郵箱

偶爾還是想關注下崇高的"新聞聯播"在說什麼, 便用 shell 寫了個抓取文字標題發送到郵箱的指令碼. 如下:#!/bin/sh#author: dengzhaoqun#date: 2013-01-29tmp_file="/tmp/tmp_xm_update_xwlb"tmp_mail="/tmp/tmp_xm_update_xwlb_mail"url="http://cctv.cntv.cn/lm/xinwenlianbo/`date +%Y%m%d`.shtml"curl -o

恢複EXE檔案關聯

  exe檔案出錯大多是由於病毒引起的,而殺毒軟體的主檔案都是exe檔案。當exe檔案關聯出錯時,就無法運行殺毒軟體。Windows XP提供了安全模式下的命令列工具,使用者可以用此解決。   首先進入安全模式,開啟“命令提示字元”,   輸入:assoc<Space>.exe=exefile<Enter>,螢幕上將顯示.exe=exefile   關閉命令提示字元視窗,按Ctrl+Alt+Del開啟"Windows安全"對話方塊,單擊  

Google搜尋總結

 1,Basic Operators OR word or “|” characterDouble Quotation Marks (” “)        :for exact phrase searchPlus sign (+)                                     :to force a search on awordMinus sign (-)                                     :omitting pages

ELException Unable to find a value for…..in object 異常處理

異常: .. ELExcepiton: unable to find a value for "欄位名" in object of classJsp頁面中:   <c:forEach var="kao" items="${kaoshi}" ><c:out value="${kao.kaoshiId}" />......</c:forEach>Bean中欄位:kaoshiId  1),原本我在Bean,中按 kao_shi_id

fgets 一比較長的行

從檔案中用fgets讀取一行內容時, 如何設定緩衝區的大小, 是一個值得考慮的問題. 以下是我讀eash源碼中看到的一個函數, 在需要一次讀入一整行很長的內容時可以參考下.static char *local_getline(char *zPrompt, FILE *in){char *zLine;int nLine;int n;int eol;if( zPrompt && *zPrompt

大數相乘(分治法實現時間複雜度為O(n^1.59))

/* * Author: dengzhaoqun * Date: 2011/04/11 */ #include <stdio.h>#include <stdlib.h>#include <string.h> #define MAX_LENGTH 1000 //------------define the data struct--------------------typedef struct{char *cptr;int len;}CharNum;/

O(n)時間求滿足和的數對

題目: 輸入一個已經按升序排序過的數組和一個數字, 在數組中尋找兩個數, 使得它們的和正好是輸入的那個數字.要求: 時間複雜度是O(n).  如果有多對數位和等於輸入的數字, 輸出任意一對即可.例如輸入數組 1, 2, 4, 7, 11, 15和數字 15, 輸出 4 和 11.此題比較簡單.用i, j 分別表示數組的前後下標, 和小於sum, 則 i++;  和大於sum, 則 j--.代碼:/* * author: dengzhaoqun */#include <stdio.h>

列印函數的軌跡

最近負責完成一個不算小的伺服器程式,  雖然已經加了不少的異常判斷以及printf, 但程式有時候還是會莫名其妙地掛掉, 跟蹤調試多了, 實在讓人害怕.因此使用一個簡單的宏來跟蹤函數調用.#define trace_fun() if(TRACE_FUN) fprintf(stderr, "-- %s\n", __FUNCTION__)當然, 這樣或許更好些 #define trace_fun() {if(TRACE_FUN) fprintf(stderr, "-- %s\n",

設定檔的更新方法

設定檔的更新, 是cs架構程式經常需要完成的一項功能.以下是我自己想出並採用了的一套通過較小的網路傳輸更新所有檔案的方法.假設設定檔是 json 格式的.如果有 a.js,  b.js, c.js 三設定檔, 則按照以下格式產生一個 meta.js 檔案:{"all":["a.js", "b.js", "c.js"],"a.js":"md5 of a.js","b.js":"md5 of b.js","c.js":"md5 of c.js"}在 client 向 server 發送心跳時,

測試是否可以 waitpid 子進程的子進程

雖然 " man waitpid" 裡寫明作用的對象是子進程, 我還是測試下是否可以 waitpid 子進程的子進程.以下為測試代碼, 其中用一塊 sizeof(int) 大小的共用記憶體傳遞子進程的子進程 pid.#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include <

一個簡單web server 的實現

昨天在 Source Forge 中下了 Ani-server 的源碼, 代碼不過幾百行, 已經有一個基本 web server 的功能.參照其思路, 自己實現了下, 有點意思.基本思路:1)取得一 socket 的 fd -->  bind --> listen -->select --> accept,     得到一 cli_fd, 通過它可以和請求服務的瀏覽器通訊2)從 cli_fd 讀取資料, 判斷是否是 http 的 GET, 獲得被請求的檔案,

read 不會設定緩衝區最後一個位元組為 ‘\0′

有時候會對 read 和 fscanf 等讀入內容到緩衝區, 在輸入內容大於緩衝區時, 是否會自動將最後一個位元組設定為 '\0' 猶豫. 在這裡測試下.#include <stdio.h>#define LEN 3int main(int argc, char *argv[]){char buf[LEN];char buf2[LEN] = {'\0'};read(0, buf, LEN);printf("%c\n", buf[LEN-1]);printf("buf:%s\n",

華碩筆記本網路攝影機安裝驅動也不能用解決方案

我前段時間買的華碩筆記本, A43EI267SD型號的, 網路攝影機一直不能用. 今晚花時間研究了下.去華碩官網上下載網路攝影機驅動,需要先在 "裝置管理員" 中的 "圖形裝置"  中查看一個號碼, 但是我的裝置管理器中圖形裝置這一項都沒有.用驅動人生,驅動精靈都檢測不到異常.下載華碩的驅動大全也不行.我把電腦帶的光碟片插入,查看其中的程式說明.發現有一個名為 LifeFrame 的程式, 和圖形相關, 安裝它, 重啟系統後終於啟動了網路攝影機.

測試 inotify 中 IN_DELETE_SELF

// 這篇文章對 IN_DELETE_SELF的理解出錯.前段時間寫 inotify 相關的程式, 發現當時間為 IN_DELETE_SELF或 IN_MOVE_SELF 時 event 結構中 name 屬性不能 printf.我覺得不應該, 今天特意寫代碼測試下.#include <stdio.h>#include <sys/inotify.h>#include <unistd.h>#include <stdlib.h>#define BUF_

從 ubuntu 安裝 xp

本以為在裝有ubuntu的電腦上再安裝xp會有點難,卻不料如此簡單.1, 首先, 將xp的 gho 檔案拷貝到一個ubuntu 沒有使用的分區.2,開機啟動時,grub菜單 系統預設是隱藏的,去掉隱藏需要做如下操作:1)、你需要修改/etc/default/grub其中的第5行:sudo gedit /etc/default/grubGRUB_HIDDEN_TIMEOUT=0(預設是0,修要修改成大於0的值,比如10)儲存後退出!2)、再執行:sudo update-grub3,

求 1+2+…+n

題目: 求 1+2+...n        要求不能使用除法, for, while, if, else, switch, case 等關鍵字以及條件判斷語句 (a?b:c).這道題有點意思.我個人的方法: 藉助遞迴, 函數指標.以下是源碼:/* *author: dengzhaoqun */#include <stdio.h>int add(int n);int end(int n);int fun(int n);int (*ptr[2])(int n);int

矩陣鏈動態規劃

矩陣相乘,組合次序不同需要的計算次數不同. 1,最基本得兩矩陣相乘: /* * Author: dengzhaoqun * Date:   2011/04/17  */ #include <stdio.h>#include <stdlib.h> int *GetMatrix(int row,int col);int main(){int *A,*B,*C;int rowa,cola;int rowb,colb;int i,j,k;  printf("Input the

公用子序列 LCS 動態規劃

求兩序列的最大公用子序列 1,遞迴法 /* * Author: dengzhaoqun * Date   : 2011/04/28 */  #include <stdio.h>#include <stdlib.h>#include <string.h> #define LENGTH 1000 // global variableschar X[1000]={'/0'};char Y[1000]={'/0'};int *C=NULL;char *B=NULL; 

Ubuntu, RedFlag , XP 三系統安裝

前兩天將自己的電腦裝了三個系統,在此記錄一下。1,條件: 有 XP 和 RedFlag 的 CD 安裝盤。因為 Ubuntu 11.04 將近700M,自己用一個CD燒錄不下,筆記本光碟機又不支援DVD。BIOS 不支援 USB 啟動,我選擇從 ubuntu 的 ISO

總頁數: 61357 1 .... 21604 21605 21606 21607 21608 .... 61357 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.