1.Describe a Θ(n lg n)-time algorithm that, given a set S of n integers and
another integer x, determines whether or not there exist two elements in S whose sum is exactly x. (Implement EXercise 2.3-7.)
#include<stdio.h>
#include<stdlib.h>
void merge(int arr[],int low,int mid,int high){
int i,k;
int *tmp=(int*)malloc((high-low+1)*sizeof(int));
int left_low=low;
int left_high=mid;
int right_low=mid+1;
int right_high=high;
for(k=0;left_low<=left_high&&right_low<=right_high;k++)
{
if(arr[left_low]<=arr[right_low]){
tmp[k]=arr[left_low++];
}
else{
tmp[k]=arr[right_low++];
}
}
if(left_low<=left_high){
for(i=left_low;i<=left_high;i++){
tmp[k++]=arr[i];
}
}
if(right_low<=right_high){
for(i=right_low;i<=right_high;i++)
tmp[k++]=arr[i];
}
for(i=0;i<high-low+1;i++)
arr[low+i]=tmp[i];
}
void merge_sort(int a[],int p,int r){
int q;
if(p<r){
q=(p+r)/2;
merge_sort(a,p,q);
merge_sort(a,q+1,r);
merge(a,p,q,r);
}
}
int main(){
int a[8]={3,5,8,6,4,1,1};
int i,j;
int x=10;
merge_sort(a,0,6);
printf("after Merging-Sort:\n");
for(i=0;i<7;i++){
printf("%d",a[i]);
}
printf("\n");
i=0;j=6;
do{
if(a[i]+a[j]==x){
printf("exist");
break;
}
if(a[i]+a[j]>x)
j--;
if(a[i]+a[j]<x)
i++;
}while(i<=j);
if(i>j)
printf("not exist");
system("pause");
return 0;
}
標(biāo)簽:
c語言
算法
排序
上傳時(shí)間:
2017-04-01
上傳用戶:糖兒水嘻嘻
VIP專區(qū)-嵌入式/單片機(jī)編程源碼精選合集系列(117)資源包含以下內(nèi)容:1. (1)可以實(shí)時(shí)顯示當(dāng)前時(shí)間。
(2)可以用鍵盤設(shè)定多個(gè)預(yù)定打鈴時(shí)間。
(3)學(xué)有余力的同學(xué)可以增加語音提示的功能.2. 關(guān)于ARM控制鼠標(biāo)運(yùn)行的C程序
所用IC為LPC2132等,程序包含接收和發(fā)送數(shù)據(jù)子程序.3. 來自PhysioNet的心電分析軟件WFDB使用指南.4. 單片機(jī)接口技術(shù)實(shí)用子程序配套源代碼
內(nèi)含關(guān)于串口通信、鍵盤控制、液晶顯示等功能的源碼.5. Boot code for ADM5120 with serial console for Edimax router..6. 論文名字為:多模式自適應(yīng)嵌入式實(shí)時(shí)視覺監(jiān)督。在開發(fā)智能監(jiān)控?cái)z像機(jī)時(shí)這篇論文會(huì)對(duì)研究者又幫助。.7. bootloader源代碼.8. 匯編的雷達(dá)程序代碼.9. 這個(gè)是51的光電隔離設(shè)計(jì)。.10. nios ii在電機(jī)控制中的應(yīng)用.11. CPLD控制的數(shù)據(jù)采集器原理圖.12. 關(guān)于三星的s3c2410芯片的開發(fā)板的原理圖.13. 本程序段為mifare one 卡讀寫程序的子程序
也是關(guān)鍵程序.14. AT89C2051的設(shè)計(jì)手冊(cè)。.15. 這個(gè)是有關(guān)DS12887的資料,超級(jí)詳細(xì)的..解釋的很明白.16. s3c44b0 bios起動(dòng)源程序.17. 一個(gè)Megaco實(shí)現(xiàn)源代碼.18. FPGA的Nios配合時(shí)如何計(jì)算SDRAM相位的文章.19. This an EXercise in using finite state machines.基于ALTERA的DE2開發(fā)
平臺(tái).20. 嵌入式微處理器系統(tǒng)
崔光佐
普適計(jì)算與應(yīng)用實(shí)驗(yàn)室
北京大學(xué)現(xiàn)代教育技術(shù)中心
www.uclab.org.21. SST39VF160操作子程序.22. 基于51單片機(jī)的單工呼叫系統(tǒng)詳細(xì)源代碼程序.23. AT91RM9200測(cè)試程序.24. TGLCMLIMIT64A接口程序(模擬方式).25. Version Management with CVS.26. PSoC(可編程片上系統(tǒng))是Cypress半導(dǎo)體公司生產(chǎn)的包含有8位微處理器核和數(shù)字與模擬混合的信號(hào)陣列芯片.27. 你相學(xué)會(huì)CPLD,FPGA,教程,快速,么,你想使用硬件編程語言么.那就看這個(gè)吧,只要5分鐘.讓你入門.28. S3C2410下LCD驅(qū)動(dòng)程序移植
及GUI程序編寫
以一個(gè)實(shí)例來敘述S3C2410下一個(gè)驅(qū)動(dòng)程序的編寫(本文的初始化源碼以華恒公司提供的s3c2410fb.c為基礎(chǔ))及簡單的GUI程序的編寫。.29. s3c44b0 的開發(fā)板測(cè)試的所有源代碼及程序!!!匯編代碼主要完成系統(tǒng)初始化.30. 周立功實(shí)驗(yàn)串口調(diào)試! 周立功實(shí)驗(yàn)串口調(diào)試!.31. 周立功實(shí)驗(yàn)SPI調(diào)試! 周立功實(shí)驗(yàn)SPI調(diào)試!.32. 周立功實(shí)驗(yàn)SSP調(diào)試! 周立功實(shí)驗(yàn)SSP調(diào)試!.33. 周立功實(shí)驗(yàn)定時(shí)器調(diào)試! 周立功實(shí)驗(yàn)定時(shí)器調(diào)試!.34. 周立功實(shí)驗(yàn)PWM調(diào)試! 周立功實(shí)驗(yàn)PWM調(diào)試!.35. PT0611打印機(jī)代碼,可用于學(xué)習(xí)用,如果有需要可以下載.36. Cyclone1C20的Nios開發(fā)板完整原理圖Protel格式.37. 尋跡小車主控程序.38. 語言嵌入式系統(tǒng)編程修煉之道,非常有用的嵌入式開發(fā)語言學(xué)習(xí).39. 附件為at91sam9261dk評(píng)估板原理圖,protel99se格式的.40. 51單片機(jī)ADS7846適合用在4線制觸摸屏.
標(biāo)簽:
4421
FSK
ISM
IA
上傳時(shí)間:
2013-06-01
上傳用戶:eeworm