今天上完課回實驗室後,把昨天面試的三道演算法題,完完整整的全部自己重做實現了一遍(多種方法)
以下**原則上,力爭全部都是用c語言實現,但考慮到擴充套件性和相容性,演算法1使用了模板
測試環境:vs2008
測試結果:測試通過
/**************************************/
/***** 時 間:2010.6.28 ****/
/**************************************/
#include "stdafx.h"
#include #include #include #include #include /**************************************/
/***** 面試題1:兩陣列歸併排序 ****/
/**************************************/
templatevoid printarray(t *array, int len)
else if(0==flag1 && 1==flag2) /* 降-公升: 陣列array1降序,陣列array2公升序,則陣列array3仍為降序 */
while(i=0)
array3[k++]=array2[j--];
}
else if(0==flag1 && 0==flag2) /* 降-降: 陣列array1降序,陣列array2降序,則陣列array3仍為降序 */
while(i=len && flag) /* 如果全部匹配成功,則i>=len 返回檔名 */
ch=fgetc(pf);
}
fclose(pf);
pf=null;
return null;
}
/* 遍歷資料夾下的所有*.txt格式檔案 */
void search_txtfiles(const char *dirpath, const char *word)
else
_findclose( hfile );
}
printf("\n");
}
/* 顯示目錄資料夾下(相對路徑)所有包含單詞word的檔名(*.txt) */
void display_filename()
/* 主函式,實現面試三道c語言演算法題 */
int _tmain(int argc, _tchar* argv)
執行結果:
實際result檔案記錄的包含baidu的檔案目錄(手工判斷找出的,用以與程式結果對照)
面試及總結
第一道很簡單,問程式在記憶體有幾個資料區,堆和棧區有啥區別 第二道是兩個有序陣列 可能公升序或降序 要求合併到乙個大陣列中,使其仍然有序,講了大體思路,並用c簡單寫了實現 第三道是給出int型的x y兩個數,要求不借助第三個變數交換x和y的值,啊。從大一開始學c,碰到過用value傳參 引用傳參 指...
面試及總結
第一道很簡單,問程式在記憶體有幾個資料區,堆和棧區有啥區別 第二道是兩個有序陣列 可能公升序或降序 要求合併到乙個大陣列中,使其仍然有序,講了大體思路,並用c簡單寫了實現 第三道是給出int型的x y兩個數,要求不借助第三個變數交換x和y的值,啊。從大一開始學c,碰到過用value傳參 引用傳參 指...
面試及總結
第一道很簡單,問程式在記憶體有幾個資料區,堆和棧區有啥區別 第二道是兩個有序陣列 可能公升序或降序 要求合併到乙個大陣列中,使其仍然有序,講了大體思路,並用c簡單寫了實現 第三道是給出int型的x y兩個數,要求不借助第三個變數交換x和y的值,啊。從大一開始學c,碰到過用value傳參 引用傳參 指...