当前位置: 首页 > wzjs >正文

大连企业名录大全赤峰网站优化

大连企业名录大全,赤峰网站优化,一个网站有几个域名,上海哪家做网站关键词排名有些函数需要提前准备 typedef struct node{int data;struct node* next; }node; typedef struct{int size;node* top; }toplist;//进栈函数,传入第一个参数为记录栈顶的结构体指针,第二个参数为要进去的节点指针 bool push(toplist* managelist,node* …

有些函数需要提前准备

typedef struct node{int data;struct node* next;
}node;
typedef struct{int size;node* top;
}toplist;//进栈函数,传入第一个参数为记录栈顶的结构体指针,第二个参数为要进去的节点指针
bool push(toplist* managelist,node* new);//出栈函数,传入第一个参数为记录栈顶的结构体指针,第二个参数出栈节点的记录的数,用指针记录
bool pop(toplist* managelist,int* num);//插入节点且将num赋值给该节点的数值
node* iniList(int num);//记录栈顶结构体函数初始化,size = 0,top->NULL
toplist *managelist_init(void);

栈在单向链表中,并实现十进制转为二进制的操作

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>typedef struct node{int data;struct node* next;
}node;
typedef struct{int size;node* top;
}toplist;bool push(toplist* managelist,node* new);
bool pop(toplist* managelist,int* num);
node* iniList(int num);
toplist *managelist_init(void);int main(void)
{int data = -1;toplist* managelist = managelist_init();
//此为测试代码,可以删除或者忽略
/*push(managelist,iniList(1));printf("%p\n",managelist->top);push(managelist,iniList(2));printf("%p\n",managelist->top);push(managelist,iniList(3));printf("%p\n",managelist->top);push(managelist,iniList(4));printf("%p\n",managelist->top);printf("%d \t %d \t %p\n",data,managelist->size,managelist->top);printf("before pop!\n");pop(managelist,&data);printf("%d \t %d \t %p\n",data,managelist->size,managelist->top);
*///无符号类型,方便转化负数的二进制unsigned int number = -1;while(1){printf("enter a decimal number:");scanf("%d",&number);if(number == 0){push(managelist,iniList(number)); }else{while(number != 0){push(managelist,iniList(number%2));number = number/2;}}while(managelist->size != 0){pop(managelist,&data);printf("%d",data);}printf("\n");}return 0;
}bool push(toplist* managelist,node* new)
{new->next = managelist->top;managelist->top = new;managelist->size++;return true;
}bool pop(toplist* managelist,int* num)
{if(managelist->top == NULL || managelist->size == 0){return false;   }node* tmp = managelist->top;*num = managelist->top->data;managelist->top = managelist->top->next;managelist->size--;free(tmp);return true;}node* iniList(int num)
{node* p = (node*)malloc(sizeof(node));if(p == NULL){printf("allot space is failure!\n");return NULL;}p->data = num;p->next = NULL;return p;}toplist *managelist_init(void)
{toplist* p = (toplist*)malloc(sizeof(toplist));if(p == NULL){printf("allot space is failure!\n");}p->size = 0;p->top = NULL;return p;
}

栈在数组中实现

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#define HIGH 6int stack_arr[HIGH] = {0};
int flag = -1;bool push(int stack_arr[],int num);
bool pop(int stack_arr[],int* num);int main(void)
{int num = -1;push(stack_arr,1);push(stack_arr,2);push(stack_arr,4);push(stack_arr,3);pop(stack_arr,&num);printf("%d \t %d\n",num,flag);return 0;
}bool push(int stack_arr[],int num)
{if(flag == HIGH-1){return false;}stack_arr[++flag] = num;return true; }
bool pop(int stack_arr[],int* num)
{if(flag == -1){return false;}*num = stack_arr[flag--];return true;}

十进制转二进制函数、十进制转八进制函数:

void dec_to_bin(toplist* managelist,unsigned int number)
{int data = -1;if(number == 0){push(managelist,iniList(number)); }else{while(number != 0){push(managelist,iniList(number%2));number = number/2;}}while(managelist->size != 0){pop(managelist,&data);printf("%d",data);}printf("\n");
}void dec_to_oct(toplist* managelist,unsigned int number)
{int data = -1;if(number == 0){push(managelist,iniList(number)); }else{while(number != 0){push(managelist,iniList(number%8));number = number/8;}}while(managelist->size != 0){pop(managelist,&data);printf("%d",data);}printf("\n");
}

直接使用

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>typedef struct node{int data;struct node* next;
}node;
typedef struct{int size;node* top;
}toplist;bool push(toplist* managelist,node* new);
bool pop(toplist* managelist,int* num);
node* iniList(int num);
toplist *managelist_init(void);void dec_to_bin(toplist* managelist,unsigned int number);
void dec_to_oct(toplist* managelist,unsigned int number);int main(void)
{int data = -1;toplist* managelist = managelist_init();unsigned int number = -1;while(1){printf("enter a decimal number:");scanf("%d",&number);dec_to_bin(managelist,number);dec_to_oct(managelist,number);}return 0;
}bool push(toplist* managelist,node* new)
{new->next = managelist->top;managelist->top = new;managelist->size++;return true;
}bool pop(toplist* managelist,int* num)
{if(managelist->top == NULL || managelist->size == 0){return false;   }node* tmp = managelist->top;*num = managelist->top->data;managelist->top = managelist->top->next;managelist->size--;free(tmp);return true;}node* iniList(int num)
{node* p = (node*)malloc(sizeof(node));if(p == NULL){printf("allot space is failure!\n");return NULL;}p->data = num;p->next = NULL;return p;}toplist *managelist_init(void)
{toplist* p = (toplist*)malloc(sizeof(toplist));if(p == NULL){printf("allot space is failure!\n");}p->size = 0;p->top = NULL;return p;
}void dec_to_bin(toplist* managelist,unsigned int number)
{int data = -1;if(number == 0){push(managelist,iniList(number)); }else{while(number != 0){push(managelist,iniList(number%2));number = number/2;}}while(managelist->size != 0){pop(managelist,&data);printf("%d",data);}printf("\n");
}void dec_to_oct(toplist* managelist,unsigned int number)
{int data = -1;if(number == 0){push(managelist,iniList(number)); }else{while(number != 0){push(managelist,iniList(number%8));number = number/8;}}while(managelist->size != 0){pop(managelist,&data);printf("%d",data);}printf("\n");
}

http://www.dtcms.com/wzjs/583885.html

相关文章:

  • 网站卖给别人后做违法信息wordpress多主题插件下载地址
  • 没有备案的网站百度能收录网站做游戏活动
  • 营业执照 网站开发旅游网站设计参考文献
  • 英文外贸商城网站设计百度蜘蛛网站
  • 烟台市住房和城乡建设厅网站校园网站建设教程视频
  • 邮票上的化学史网站开发网站的设计特点有哪些
  • 关于网站推广十大导航软件
  • 建立英文网站投资公司经营范围有哪些内容
  • 福建省建设监理网官方网站做机械设计的要知道哪些网站
  • 北京做网站比较好的公司最近五天的新闻大事
  • 江都建设银行网站关键词优化是怎么做的
  • 建设交易网站多少钱保定网站电话
  • 重庆网站的网络推广在网上注册公司的流程
  • 霸州市建设局网站哔哩哔哩在线看免费观看视频
  • 网站建设企业模板哪家好建网站多少钱 万户
  • 网站域名注册步骤有免费的网站做农家院宣传
  • 简单网站开发完美代码网站
  • 一个小型购物网站开发企业手机网站建设策划方案
  • 阳信住房和城乡建设厅网站上海传媒公司名字
  • 开普网站建设公司山西省这房和城乡建设厅网站
  • 项目宣传网站模板免费下载网站如何做关键字收录
  • 淄博网站排名seo营销型网站开发方案
  • 网站建设合同的风险责任小程序价格多少钱
  • 手机网站导航条下载爱南宁app下载
  • 企业制作网站自适应导航网站模板
  • 电视剧手机网站大全网站建设公司安丘市
  • 宜春集团网站建设wordpress 4.7.5
  • 肇东网站制作男女做羞羞的事视频网站
  • 工程建设资料员报名网站有.net源码如何做网站
  • mvc 手机网站开发宁波江北网站建设