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

如何做好网站现在企业需要建设网站吗

如何做好网站,现在企业需要建设网站吗,自己家的电脑宽带50m做网站服务器,怎么做58网站吊车网系列目录 上一篇#xff1a;白骑士的C语言教学高级篇 3.1 高级指针技术 在计算机科学中#xff0c;数据结构是组织和存储数据的方式#xff0c;不同的数据结构适用于不同的问题和算法。本节将介绍链表、栈与队列以及树与图#xff0c;这些高级数据结构在实际编程中非常常用…系列目录 上一篇白骑士的C语言教学高级篇 3.1 高级指针技术 在计算机科学中数据结构是组织和存储数据的方式不同的数据结构适用于不同的问题和算法。本节将介绍链表、栈与队列以及树与图这些高级数据结构在实际编程中非常常用并且是许多复杂算法的基础。 链表 链表是一种线性数据结构其中的元素存储在节点中每个节点包含数据和一个指向下一个节点的指针。链表的优点是插入和删除操作非常高效但缺点是访问元素的时间复杂度较高因为需要从头节点开始逐个遍历。 单向链表 只有一个方向的指针指向下一个节点例如 #include stdio.h #include stdlib.htypedef struct Node {int data;struct Node *next; } Node;void append(Node **head, int data) {Node *new_node (Node *)malloc(sizeof(Node));new_node-data data;new_node-next NULL;if (*head NULL) {*head new_node;} else {Node *temp *head;while (temp-next ! NULL) {temp temp-next;}temp-next new_node;} }void printList(Node *head) {while (head ! NULL) {printf(%d - , head-data);head head-next;}printf(NULL\n); }int main() {Node *head NULL;append(head, 1);append(head, 2);append(head, 3);printList(head);return 0; } 双向链表 具有两个方向的指针分别指向前一个节点和后一个节点例如 #include stdio.h #include stdlib.htypedef struct Node {int data;struct Node *prev;struct Node *next; } Node;void append(Node **head, int data) {Node *new_node (Node *)malloc(sizeof(Node));new_node-data data;new_node-next NULL;if (*head NULL) {new_node-prev NULL;*head new_node;} else {Node *temp *head;while (temp-next ! NULL) {temp temp-next;}temp-next new_node;new_node-prev temp;} }void printList(Node *head) {while (head ! NULL) {printf(%d - , head-data);head head-next;}printf(NULL\n); }int main() {Node *head NULL;append(head, 1);append(head, 2);append(head, 3);printList(head);return 0; } 栈与队列 栈 栈Stack是一种后进先出LIFOLast In First Out的数据结构栈的操作主要有两个‘push‘入栈和 ‘pop‘出栈。例如 #include stdio.h #include stdlib.h#define MAX 100typedef struct Stack {int data[MAX];int top; } Stack;void push(Stack *stack, int value) {if (stack-top MAX - 1) {stack-data[stack-top] value;} else {printf(Stack overflow\n);} }int pop(Stack *stack) {if (stack-top 0) {return stack-data[stack-top--];} else {printf(Stack underflow\n);return -1;} }int main() {Stack stack;stack.top -1;push(stack, 1);push(stack, 2);push(stack, 3);printf(Popped: %d\n, pop(stack));printf(Popped: %d\n, pop(stack));return 0; } 队列 队列Queue是一种先进先出FIFOFirst In First Out的数据结构队列的操作主要有两个‘enqueue‘入队和 ‘dequeue‘出队。例如 #include stdio.h #include stdlib.h#define MAX 100typedef struct Queue {int data[MAX];int front;int rear; } Queue;void enqueue(Queue *queue, int value) {if (queue-rear MAX - 1) {queue-data[queue-rear] value;if (queue-front -1) {queue-front 0;}} else {printf(Queue overflow\n);} }int dequeue(Queue *queue) {if (queue-front queue-rear || queue-front -1) {printf(Queue underflow\n);return -1;} else {return queue-data[queue-front];} }int main() {Queue queue;queue.front -1;queue.rear -1;enqueue(queue, 1);enqueue(queue, 2);enqueue(queue, 3);printf(Dequeued: %d\n, dequeue(queue));printf(Dequeued: %d\n, dequeue(queue));return 0; } 树与图 树 树Tree是一种层次数据结构树中的每个节点包含一个数据元素和指向子节点的指针。树的典型应用包括二叉树、二叉搜索树BST等。 二叉树是一种特殊的树结构每个节点最多有两个子节点例如 #include stdio.h #include stdlib.htypedef struct Node {int data;struct Node *left;struct Node *right; } Node;Node* createNode(int data) {Node *newNode (Node *)malloc(sizeof(Node));newNode-data data;newNode-left NULL;newNode-right NULL;return newNode; }void inorderTraversal(Node *root) {if (root ! NULL) {inorderTraversal(root-left);printf(%d - , root-data);inorderTraversal(root-right);} }int main() {Node *root createNode(1);root-left createNode(2);root-right createNode(3);root-left-left createNode(4);root-left-right createNode(5);printf(Inorder Traversal: );inorderTraversal(root);printf(NULL\n);return 0; } 图 图Graph是一种更复杂的数据结构由节点顶点和边组成。图可以是有向图或无向图应用广泛如社交网络、交通网络等。 邻接矩阵表示法是图的一种表示方法例如 #include stdio.h#define MAX 5void addEdge(int graph[MAX][MAX], int u, int v) {graph[u][v] 1;graph[v][u] 1;  // 如果是无向图 }void printGraph(int graph[MAX][MAX]) {for (int i 0; i MAX; i) {for (int j 0; j MAX; j) {printf(%d , graph[i][j]);}printf(\n);} }int main() {int graph[MAX][MAX] {0};addEdge(graph, 0, 1);addEdge(graph, 0, 4);addEdge(graph, 1, 2);addEdge(graph, 1, 3);addEdge(graph, 1, 4);addEdge(graph, 2, 3);addEdge(graph, 3, 4);printGraph(graph);return 0; } 总结 高级数据结构在C语言编程中具有重要地位掌握这些数据结构可以解决复杂的问题提高程序的效率和灵活性。通过链表、栈与队列以及树与图的学习将具备处理多种实际应用场景的能力。这些数据结构不仅在算法设计中广泛应用而且是计算机科学领域的基础知识。 下一篇白骑士的C语言教学高级篇 3.3 并发与多线程​​​​​​​
http://www.zqtcl.cn/news/268959/

相关文章:

  • 服务器可以做网站吗深圳高端网站建设创新
  • 企业平台网站建设方案大连网络广告
  • 如何给网站做宣传新手怎么建立自己网站
  • 酒店和网站对接如何做开发网站那个好
  • 北京建设信源咨询有限公司网站快对小程序入口
  • 湖北人工智能建站系统软件城乡建设官网
  • 广东模板建站平台设计网站
  • 晋江市住房和城乡建设网站二进制可以做网站是吗
  • 企业网站优化的方式网站开发 -(广告)
  • 素材解析网站搭建wordpress 提问
  • 域名解析网站安卓android系统下载
  • 相亲网站做推广的照片是谁广告优化师前景
  • 营销导向的网站建设的主要流程陕煤建设集团网站
  • 电商网站销售数据分析网页美工设计实训报告
  • 百度新网站收录wordpress免刷新插件
  • 如何做好网站外链c#+开发网站开发
  • 展示型网站报价网站目录创建下载链接
  • cloudflare做侵权网站建设网站需要什么知识
  • 软装设计公司名称怎样给网站做优化
  • 如何判断网站是用什么程序做的云南网站建设公司
  • 清远市建设局官方网站软件开发工程师发展前景
  • 韩国做hh网站图片转链接生成器在线
  • 有凡客模版怎么建设网站百度网盘在线观看资源
  • 网站关键字统计龙岩龙硿洞
  • 成都哪个网站建设比较好建设工程交易服务中心
  • 怎么做好网站推广小笨鸟跨境电商平台
  • 建立一个网站需要多少钱?制作ppt模板的软件
  • 百度 手机网站 友好性青岛谷歌优化
  • 免费的200m网站空间谷歌建站哪家好
  • 哪些平台可以建立网站2345浏览器网页版入口中文版