Õ»µÄCʵÏÖ(stack)
rows="2" cols="20" id="ctl00_ctl00_cphContent_cphDoc_EntryEditor1_richTextEditor" class="mceEditor" style="height:450px;width:100%;">
Õ»ÊÇÊý¾Ý½á¹¹ÖÐ×î»ù´¡Ò²ÊÇ×î¾µäµÄÊý¾Ý½á¹¹£¬ÎÞÂÛÔÚÓ¦Óû¹ÊDzÙ×÷ϵͳÖоù¿ÉÒÔ¿´µ½ÆäÉíÓ°¡£Õ»ÊÇÒ»ÖÖÌØÊâµÄ
ÏßÐÔ±í£¬¼´ÏÞÖÆÔÚ±íµÄÒ»¶Ë½øÐвåÈ롢ɾ³ýÔËË㡣ͨ³£²åÈ롢ɾ³ýµÄÒ»¶Ë³ÆÎªÕ»¶¥£¬ÁíÒ»¶Ë³ÆÎªÕ»µ×£¬µ±Õ»ÖÐû
ÓÐÊý¾Ýʱ³ÆÎª¿ÕÕ»¡£
Õ»ÖÐÊý¾ÝµÄ²åÈëºÍɾ³ýÖ»ÔÚÕ»¶¥½øÐУ¬ËùÒÔÕ»ÖеÄÊý¾Ý×ÜÊǺó½øÏȳö(LIFO)¡£
Õ»ÉÏ»ù±¾µÄÔËËãÓÐÎåÖÖ£º
* SETNULL(s) ÖÃÕ»sΪ¿ÕÕ»¡£
* EMPTY(s) ÅжÏÕ»sÊÇ·ñΪ¿Õ¡£
* PUSH(s,x) ÍùÕ»sѹÈëÊý¾Ýx¡£
* POP(s) ÈôÕ»s²»Îª¿Õ£¬Ôòµ¯³öÕ»¶¥Êý¾Ý¡£
* TOP(s) ÈôÕ»s²»Îª¿Õ£¬È¡Õ»¶¥Êý¾Ý¡£
ÏÂÃæ£¬¸ø³öÕ»µÄ×î»ù±¾µÄʵÏÖ´úÂë:
#include <assert.h>
#define STACK_SIZE (1 << 6)
static stack_t stack[STACK_SIZE];
static int top = -1;
static int stack_full(void)
{
return (top == STACK_SIZE - 1);
}
static int stack_empty(void)
{
return (top == -1);
}
void stack_push(stack_t val)
{
assert(!stack_full());
stack[++top] = val;
}
stack_t stack_pop(void)
{
assert(!stack_empty());
--top;
return stack[top + 1];
}
stack_t stack_top(void)
{
assert(!stack_empty());
return stack[top];
}
´ÓÉÏÃæµÄʵÏÖ´úÂë¿ÉÒÔ¿´³ö£¬ÊµÏÖÕ»µÄ»ù±¾²Ù×÷µÄ´úÂëÊǷdz£¼òµ¥µÄ£¬²»¹ý¶þÈýÊ®ÐеĴúÂëÁ¿¡£Èç¹ûÔÚʵ¼ÊµÄ´ú
Â뿪·¢ÖУ¬¸ù¾ÝÓ¦ÓõÄÌØ¶¨Êý¾ÝÀàÐÍʵÏÖÉÏÊö¼¸¸ö²Ù×÷½Ó¿ÚÒ²ÊǺÜÈÝÒ׵쬵«´æÔÚ¼¸¸öÃ÷ÏÔµÄȱÏÝ:
* ´úÂë²»¾ß±¸¸´ÓÃÐÔ¡£
* ²ÉÓþ²Ì¬Êý×é´æ´¢£¬Õ»¿Õ¼äÐèÔÚ±àÒëǰȷ¶¨¡£
* ²»Ö§³Ö´æ´¢¶àÖÖÊý¾ÝÀàÐÍ£¬ÐèÒªÐÞ¸Ästack_t¶¨Òå¡£
Ϊ´Ë£¬ÎÒÃÇÖØÐÂʵÏÖÁËÈçϵÄÒ»Ì׽ṹ£¬À´Âú×ãÉÏÃæµÄÕâЩ¸´ÓÃÐÔÌØÕ÷ÐèÇ󣬴úÂëÈçÏÂ:
#include <stdlib.h>
#include <string.h>
#include <assert.h>
struct _stack {
int top;
size_t len;
size_t size;
char *base;
};
typedef unsigned int hdl;
typedef struct _stack stack;
hdl stack_create(size_t size, size_t len)
{
stack *vp = (stack*)malloc(sizeof(stack));
if (vp == NULL) {
return 0;
}
assert(size > 0 && len > 0);
vp->base = (char*)malloc(size *
Ïà¹ØÎĵµ£º
¡¾checkpass.c¡¿
#include <stdio.h>
#include <string.h>
int checkpass(void){
int x;
char a[9];
x = 0;
fprintf(stderr,"a at %p and\nx at %p\n", (void *)a, (void *)&x);
printf("Enter a short word: ");
&nbs ......
......
¡¡¡¡Ò»¡¢c³ÌÐò´æ´¢¿Õ¼ä²¼¾Ö
¡¡¡¡C³ÌÐòÒ»Ö±ÓÉÏÂÁв¿·Ö×é³É£º
¡¡¡¡1£©ÕýÎĶΗ—CPUÖ´ÐеĻúÆ÷Ö¸Á·Ö£»Ò»¸ö³ÌÐòÖ»ÓÐÒ»¸ö¸±±¾£»Ö»¶Á£¬·ÀÖ¹³ÌÐòÓÉÓÚÒâÍâʹʶøÐÞ¸Ä×ÔÉíÖ¸Á
¡¡¡¡2£©³õʼ»¯Êý¾Ý¶Î£¨Êý¾Ý¶Î£©——ÔÚ³ÌÐòÖÐËùÓи³Á˳õÖµµÄÈ«¾Ö±äÁ¿£¬´æ·ÅÔÚÕâÀï¡£
¡¡¡¡3£©·Ç³õʼ»¯Êý¾Ý¶Î£¨bss¶Î£©&mdas ......
×Ô¶¯×ª»»×ñÑÒÔϹæÔò£º
1) Èô²ÎÓëÔËËãÁ¿µÄÀàÐͲ»Í¬£¬ÔòÏÈת»»³ÉͬһÀàÐÍ£¬È»ºó½øÐÐÔËËã¡£
2) ת»»°´Êý¾Ý³¤¶ÈÔö¼ÓµÄ·½Ïò½øÐУ¬ÒÔ±£Ö¤¾«¶È²»½µµÍ¡£ÈçintÐͺÍlongÐÍÔËËãʱ£¬ÏȰÑintÁ¿×ª³ÉlongÐͺóÔÙ½øÐÐÔËËã¡£
&n ......
ÔÚ³ÌÐòÉè¼ÆÖУ¬ÎªÁË´¦Àí·½±ã£¬°Ñ¾ßÓÐÏàͬÀàÐ͵ÄÈô¸É±äÁ¿°´ÓÐÐòµÄÐÎʽ×éÖ¯ÆðÀ´¡£ÕâЩ°´ÐòÅÅÁеÄͬÀàÊý¾ÝÔªËØµÄ¼¯ºÏ³ÆÎªÊý×é¡£ÔÚ£ÃÓïÑÔÖУ¬Êý×éÊôÓÚ¹¹ÔìÊý¾ÝÀàÐÍ¡£Ò»¸öÊý×é¿ÉÒÔ·Ö½âΪ¶à¸öÊý×éÔªËØ£¬ÕâЩÊý×éÔªËØ¿ÉÒÔÊÇ»ù±¾Êý¾ÝÀàÐÍ»òÊǹ¹ÔìÀàÐÍ¡£Òò´Ë°´Êý×éÔªËØµÄÀàÐͲ»Í¬£¬Êý×éÓÖ¿É·ÖΪÊýÖµÊý×é¡¢×Ö·ûÊý×é¡¢Ö¸ÕëÊý×é¡¢½á¹ ......