今天還是看了一些關於棧的的問題,其中挑出乙個簡單的(關於進製轉換)**如下:
#include
#include
#include
#define stack_init_size 20
#define stackincreament 10
typedef
char elemtype;
typedef
struct
sqstack;
void initstack(sqstack *s)
s->top = s->base;
s->stacksize = stack_init_size;
}入棧,先入棧的壓入棧底
void push(sqstack *s,elemtype e)
}*(s->top) = e;
s->top++;
}//出棧(從棧中乙個個提取資料),這關係到棧的特點,先進後出。
char pop(sqstack *s,elemtype e)
e = *--(s->top);
return e;
}//站的容量
int stacklen(sqstack s)
void main()
getchar();
len = stacklen(s);
printf("棧的當前容量是:%d\n",len);
for(i = 0;i < len ;i++)
printf("轉化為十進位制數是:%d \n",sum);
}
其中
typedef struct
sqstack;
這樣的形式更加方便一些,儘管我還是喜歡下面的這種形式:
struct sqstack
;
總結:棧其實還是指標的應用,就**而言與鍊錶十分相似,學好鍊錶,理解棧的特點,一通百通。 進製轉化(10 gt 2)
用雙向動態鍊錶儲存資料,沒有資料大小限制 可以轉換負數 include stdio.h include malloc.h intmain void struct num2 p,q,head,end intnum unsigned x scanf d num x unsigned num 將有符號變數...
進製轉化進10進製數
option explicit private sub form click dim st as integer,dem as long st inputbox 輸入乙個十六進製制數 dem convert st print st dem end sub private function conve...
10進製轉化成其他進製
10進製轉化成其他進製 public class radixchange 十進位制轉十六進製制第一種方法 param num 乙個十進位制數 public static void toshiliu int num for index9 system.out.print char arr index ...