adif - a C-Library of Commonly Used Data-structures and Algorithms
adif is a library of commonly-used data-structures and algorithms developed by C language. As the fundamental of application development, it provedes the convenience for writing high-performance programs, greatly shortens the development cycle of software projects, improves the efficiency of engineering development, and ensures the reliability and stability of software system.
?ñ?c???Կ????ij??????ݽṹ???㷨?????⣬??ΪӦ?ó????ӿڻ????⣬Ϊ??д?????ܳ????ṩ???????ɼ??????????????Ŀ?Ŀ??????ڣ????????̿???Ч?ʣ???ȷ??????ϵͳ???еĿɿ??ԡ??ȶ??ԡ?
Ŀ¼
adif??ʲô??
adif ???ñ? c ???Կ????ij??????ݽṹ???㷨?????⣬?? Application Development Interface Fundamental ????д????ΪӦ?ó????ӿڻ????⣬Ϊ??д?????ܳ????ṩ???????ɼ??????????????Ŀ?Ŀ??????ڣ????????̿???Ч?ʣ???ȷ??????ϵͳ???еĿɿ??ԡ??ȶ??ԡ?
??????֪??????c???Կ????ij???ϵͳ????????Ч?ʼ????Ч????ƽ̨??OS????ϵͳ?????Լ?ǿ??c????????ӽ?????ϵͳ?ں˺?Ӳ??ָ??ĸ???????ԣ????ԣ?????OSϵͳ??Ƕ??ʽϵͳ??????Ӧ?üܹ??ͻ???ƽ̨??ͨ??Э??ջ????ͨ?ŷ????????洢ϵͳ????ý??ϵͳ??????Ƶ?????ϵͳ?ȵȶ??????п????????ϵͳ??һ?㶼????c????????????c???Դӵ???????ʮ??????һֱ?Ǹ?????ҵ????????ҵ??????ѡ???ԣ????????¡?????c???Ա???ص??м?ǿ??????ԡ??????ԡ????и?Ч?ԣ????۸???????η?չ??????Ƴ³??¡??仯?????ʹ??c???????߲?Ӧ?á??ײ?ϵͳ??????ǰ????Ȼ????.
c???Կ????ż???Խϸߣ??????Ա???˶?c???????Ϥ?⣬???????ռ???????ԭ????OS????ԭ???????????????????ݽṹ???㷨?ȵȣ???ͰѺܶమ?ñ???????Ŀ?????Ա?????ſڡ??????ȶ???ʵ????ǿ??c???Ի???????c???Գ???ԱԽ??????ż??????ܸ?Ч?????Ȥ?ıر????ߣ???????c???Ե????ݽṹ???㷨??Ҳ½???Ƴ??????٣?????????????ʵ??Ӧ?ÿ????????߹????Ӵ??߹???ѧԺ?ɣ????????ܱ??㷺ʹ?á?
adif?????ڿ???????Ӧ??ϵͳ?Ĺ????л????????Ļ??????ݽṹ???㷨?⣬???????????????Ż??Ͳ??ԡ??????????Ա????ʹ??adif??ѧϰ??????c???Ա?̵???Ȥ??????Խ???????ܱ?̵ı????ż??????Ը???c???Կ?????Ա?????????ܳ????ṩ?????ȶ??Ļ?????ʩ?⣬???ݿ??????ٵ?????????????????Ч?ʡ?
adif???ݽṹ???㷨??
adif ?DZ?c???????ݽṹ???㷨?⣬???ݽṹ???㷨??ʵ????Ҫ???????????ݽṹ?????????ݽṹ?????????ݴ????㷨?????õ??ַ??????ֽ??????ַ?????????ʱ??ȴ??????ڴ???ڴ?صķ????ͷŹ??????????ļ?????־???ԡ??ļ????ʡ??ļ????桢JSon??MIME?ȹ?????ͨ?ű?̡??ļ??????ź??????????????¼?֪ͨ???????ڴ?ȵȡ?
???????ݽṹ
-
??̬???? - ???ݲ??롢push??pop??ɾ???????????????????????ֲ??ҡ?һ???Թ?ϣ֧?֡??Զ??ڴ????.
-
ջ - ???ö?̬????ʵ?ֵ??Ƚ????FILO???ݽṹ.
-
?? - ??һ????ȫ????????????????ڵ????Ľдѡ?????.
-
FIFO???? - ???ö?̬????????ʵ?ֵ?FIFO???У????Ӻ͵????????ƶ??ڴ?.
-
???? - ???????????Դ洢??????֧?ֲ??롢ɾ???????????????Ȳ???.
-
??ϣ?? - ?Լ?ֵ???й?ϣ????ӳ?䵽???Դ洢??Ԫ?????ݽṹ??ͨ???ռ任ʱ??ȡ?????ݶ?д?????Ч??.
-
????? - ƽ??????????????д???????ܸ???AVL??.
???????ݽṹ
-
λ???? - ÿһλbitȡֵΪ0??1??????λ?ñ???????дijһλ??ֵ?????????????Ʋ??????ڸ?????ϵͳ???????ر?.
-
???ݿ????? - ???????????ԵĽṹ???????У????????ݿ????????????ݽṹ????ʵ?ֽṹ??Ա?IJ??롢ɾ???????ٶ?λ?????ҡ???̬?ڴ?????.
-
???ٹ?ϣ?? - ??ͨ??ϣ???Լ?ֵ???й?ϣ?????ӳ?䵽ij?????Դ洢??Ԫʱ????????м?ֵ?ȽϺ???ܷ??????ݣ????ٹ?ϣ???Լ?ֵ???ж??ϣ??????ϣ??λ???Դ洢??Ԫ??????hash????ƥ???????ȷ???Ƿ???ʵ?Ԫ.
-
??¡?????? - ?ж?һ???????Ƿ?????ڴ????ݼ????е????Ч?????ʡ?ռ?ĸ????????ݽṹ.
-
???ݻ????? - ??̬???ݴ洢?ͷ??ʹ????????ݴ?С??̬?仯???Ի????????????ݵ??ӡ????롢ɾ??????ȡ???????Ȳ???????д???ļ???Socket?????????ݱ????????.
-
??Ƭ???ݿ? - ???????Ҫ?????????????ݿ顢?ļ????ݵȻ????һ?𣬽??ж?д??ɾ???????ӡ?˳???ȡ?????ٶ?λ?????ҡ?ת???Ȳ???.
-
?ֵ??? - ?ֽ?Trie???????ʲ??????????????????????Ƶͳ?ơ??ִʴ??????Լ???ģʽƥ???
???õ????ݴ????㷨
-
???ֲ??? - ???ڶ?̬???顢FIFO?????????ݽṹ?ϵ??۰?????㷨?????ֲ???ǰ???ǻ???????????????ݡ?
-
???????? - ?????ݷָ?????飬ͨ???Ƚ???????ݽ??????????????ݵݹ?ָ??????????ʵ?????ݵ?????
-
???????? - ͨ?????ַ????Ҳ???㣬????Ԫ?ز?????λ??
-
????ƥ???㷨 - ????ֽڱȽϣ??????ʱ???ݵ??ڶ????ֽڼ???????Ƚϣ?Ч????ͣ?ʱ?临?Ӷ?ΪO(mn)
-
KMPƥ???㷨 - ?Ƚ?ʧ?ܺ????ݵ???????ֱ????ת??????λ?ã?Ԥ?ȶ?ģʽ????????????????ʱ?临?Ӷ?ΪO(m+n)
-
Sundayƥ???㷨 - ????????ƥ??λ????һ???ַ??????Ӵ????ҳ??ֵ??ַ????룬??????????⡣ƽ??ʱ?临?Ӷ?ΪO(n)
-
Boyer-Mooreƥ???㷨 - ??ģʽ?????㻵?ַ??ͺú??????ҵ?????бȽϣ???õ?ʱ?临?Ӷ?ΪO(m/n)??
-
Rabin-Karp??ϣƥ???㷨 - ????Rolling Hash?㷨?????㲢?Ƚ??Ӵ???ͬ??????????Rolling Hashֵ????ƥ?????Ų????ƽ??ʱ?临?Ӷ?ΪO(m+n)
-
Shift-Andƥ???㷨 - ????bitap?㷨??һ?ֽ???ƥ???㷨?????Ӵ?????Ԥ?????ó????뼯
-
Wu-Manber??ģƥ???㷨 - Ԥ?ȴ????????Ӵ???ȡ????Ӵ?????m??????Shift??Hash??Prefix???ű?????m???ȴ???????ƥ????????ƽ??ʱ?临?Ӷ?ΪO(Bn/m)
-
Aho-Corasick??ģƥ???㷨 - ??Trie?????????Ӵ???????FailJump??????????????ƥ?䣬ʱ?临?Ӷ?ΪO(m+n)
???õ??ַ??????ֽ??????ַ?????????ʱ??ȴ???
-
?ַ??????? - ?ϲ??????????Ƚϡ???֡????ҡ??????????ת?????ü???ɨ?衢??????????????ȡ??ת??ȡ?
-
?ֽ??????? - ????????ת??ת??????ȡ?????????????????????ַ???????????????????ijЩ?ַ????????˵?
-
У??? - ????CRCУ??͡?AdlerУ???
-
??ϣ???? - Murmur 32λ??64λhash??????City Hash????
-
????ת?? - ?ֽ?????Base64?????ת?????ֽ??????ַ???ת?????ַ???escape/unescape??????URL??????롢HTML?????ַ????????
-
?ַ??????? - ?ַ???ת?????ַ????Զ?ʶ??
-
????ʱ?䴦?? - ??ȡ??ǰϵͳʱ?䡢ʱ????????ʱ??Ƚϡ?????ʱ???ʽ???ַ???תΪʱ?䡢ʱ??ת??ͬʱ???ʽ???ַ???????ʱ???Ͷ?ʱ?????????
?ڴ???ڴ?ع???
-
ϵͳ?ڴ???? - ??ϵͳ?洢?ķ??䡢?ͷš????·??䡢?ڴ??????ٵȡ?
-
?ڴ?ع??? - ͬ?????ݽṹ???ڴ涯̬???䡢???ա??ٷ??䡢?ͷ?
-
???ڴ??ڴ??Ķ??η?????? - ??ϵͳ?ڴ?????ڴ????һ????ڴ棬????Ӧ?ü?????ڴ???䡢?ͷš????·??????
-
??ij???ݽṹ????һ????Ŀ???ڴ?? - ?Զ?????һ?????????ڴ?أ????ڳ??????䡢???ա??ͷŴ???
?????ļ?????־???ԡ??ļ????ʡ??ļ????桢JSon??MIME??
-
?????ļ? - ?Զ???ȡ????????Linux?????????ļ???д?????????????????ĸ??????ֵ??
-
??־???? - ??־?ļ????ɡ???־??¼д?롢???????ֽ?·?ı????????
-
?ļ????? - ?ļ?????????ɾ??????ȡ??д?롢??λ???ļ????Է??ʣ??ļ????????ļ??ڴ?ӳ?䡢?ļ??????㿽????
-
?ļ????? - ?ļ?????????????????????ȡ????????д?롢?????????Է??ʡ??????????ҡ???λ?????????Զ????ص?
-
JSon - JSon???ݸ?ʽ??????JSon???ݶ?????ʡ?JSon?ļ???д??JSon???????ݵķ??ʵ?
-
MIME - MIME?????б?????????????չ????MIMEID????ȡMIME???͡?????MIME????ȷ????չ????
ͨ?ű?̡??ļ??????ź??????????????¼?֪ͨ???????ڴ??
-
Socket???? - ?????????ͷ????????ں??е?δ?????ݡ?Socket?Ƿ????д?Ƿ?ready??Socket??ַ??????ת????DNS??????ַ??ȡ??IPv4??IPv6??ַʶ??????Socketѡ?????á?NODELAY??NOPUSHѡ?????õ?
-
TCP - TCP????????????TCP?ͻ?????Զ????????TCP?????Ƿ?ɹ???TCP???ݶ???TCPд???ݡ?TCP????????д??TCP?㿽?????͡?TCP??Ƭ?ڴ?д??TCP sendfile??
-
UDP - UDP????????????UDP???ݱ???д
-
Unix Socket - Unix Socket server??????????usock??????uscok?????
-
????IP??ַ - ???ض?IP??ַ??ȡ
-
?ļ??? - ????fcntl??SETLKW/GETLKW??ʵ?ּ?????????????????Windows????????????????
-
?ź??? - ???̻߳?????֮?乲?????ݵĻ??????
-
?¼?֪ͨ - ?ں?ͬ?????ƣ??ɹ???ǰ?̻߳???̣?ֱ???ض???????????Ϊֹ
???ݿ???ʹ???
-
MySQL???ݿ? - ???ݿ????ӹ?????Query??ѯ????¼??ȡ??Insert??Update??Delete?????Ĵ???ɾ???ĵȡ?
-
SQLite???ݿ? - ???ݿ????ӡ?????select??insert??update??delete?Լ??????¼??ȡ?????Ĵ???ɾ????
-
BerkeleyDB - Key/Value???ݿ?Ĵ???????get??put??mget??mput??
adif???????????????Դ??Ŀ
ePump??Ŀ
?????? adif ??Ŀ?ṩ?Ļ??????ݽṹ???㷨?⣬???߿???????Դ?? ePump ??Ŀ??ePump ??һ??????I/O?¼?֪ͨ????????ͨ?š???·???á????̵߳Ȼ??ƿ??????¼?????ģ?͵? C ????Ӧ?ÿ?????ܣ????øÿ?ܿ??Ժ????ؿ??????????ܡ??????ӵķ?????????ePump ??ܸ???????ͼ?ش??ڷ?????ģʽ???ļ????????Ͷ?ʱ??????????״̬?仯??????Ӧ???¼??????????ɷ?????Ӧ?̵߳??¼??????У???Щ?߳?ͨ?????ø??¼??????Ļص???????Callback?????????¼???ePump ??ܷ?װ???ṩ?˸???ͨ?ź?Ӧ?ýӿڣ????ں??˵??????е?ͨ?ź??̼ܹ߳?ģ?ͣ???һ???????????????ܵ? event-driven ?????ܹ??????? ePump?????ż?????ԱҲ?????ؿ???????ҵ???ĸ????ܷ?????ϵͳ??
eJet Web????????Ŀ
???? adif ??? ePump ??ܿ?????????һ????Դ??Ŀ?? eJet Web ????????eJet Web ????????Ŀ?????? adif ??? ePump ??ܿ??????????????????? Web ????????ϵͳ???????? Zero-Copy ??????֧?? HTTP/1.1??HTTPS ??ȫ?????ܣ??ṩ??????????URI rewrite>??Script?ű?????????Cookie??????TLS/SSL???Զ?Redirect??Cache???ش洢????־?ļ??ȹ??ܣ??Ǿ?̬?ļ????ʡ????ء??Լ?PHP???ص?????ƽ̨?????Գ????ļ????ϴ??????ṩ??Ч֧?š????⣬??֧?? Proxy?? ?????????????????? TLS/SSL??FastCGI?? uWSGI?????? Cache ?洢??????CDN?ڵ????ȸ????ܡ?eJetϵͳ??????ΪWeb?????????? PHP Ӧ?á?Python Ӧ?ã?ͬʱ???û???? Proxy ???ܣ?????????????Ϊ CDN ?ַ?ϵͳ????Ҫ?ַ??ڵ㡣
???????? ?Ͽ? (laoke)
?д???Linux??ϵͳ?ϵ?Ӧ??ƽ̨??ͨ??ϵͳ???????????????????Ա??????ʦ?????ʼ?[email protected]?????ҵ????ߣ?????ͨ??QQ????571527???ź?beijingkehz?????????ԡ?
adif??Ŀ????????????????Դ??Ŀ?ĵ?һ????Ŀ????Ϊ???????ݽṹ???㷨?⣬?Ǵ???????ϵͳ?????????л????????????ģ?Ϊ??????Ŀ?ṩ?ײ㿪??֧?š?????Ŀ?ĺܶ?????????????;?ʮ???ĩ???Ѿ???????ɣ?һֱ????????????Ŀ?????????в????Ż??????ơ?