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

网站建设 软件开发的公司哪家好网页设计作品

网站建设 软件开发的公司哪家好,网页设计作品,网站如何做伪静态页面,公司的独立网站C语言-数据结构与算法 C语言基础 因为之前写算法都是用C,也有了些C基础,变量常量数据类型就跳过去吧。 首先是环境,学C时候用Clion,C语言也用它写吧~ 新建项目,选C执行文件,语言标准。。。就先默认C99吧…

C语言-数据结构与算法

C语言基础

因为之前写算法都是用C++,也有了些C++基础,变量常量数据类型就跳过去吧。

首先是环境,学C++时候用Clion,C语言也用它写吧~

新建项目,选C执行文件,语言标准。。。就先默认C99吧,反正是测试环境,应该问题不大

image-202308231731119510

直接运行一手

image-202308213173157961

嗯。。JB家的新UI。。真是。。。。。。。一言难尽

指针

好像最开始学C++开始,就一直没玩明白指针,毕竟一用数组链表就直接上STL库,也不太用得到指针

新的学习阶段,从指针开始!

1

#include <stdio.h>int main() {int a = 123;int * p = &a;printf("a:%d\n", a);printf("*p:%d\n", *p);printf("a的地址:%p\n", &a);printf("指针p指向的地址:%p\n", p);printf("指针p自身的地址:%p\n", &p);return 0;
}

image-202308215144721227

如果你的Clion输出乱码,按照以下顺序配置即可解决:

文件——设置——编辑器——文件编码,都改成UTF-8

image-202310825145205006

然后点击确定,回到代码页面,点击最下方UTF-8,选择GBK

1

再点击转换,重新运行即可解决

image-202302825145348845

结构体

使用typedef可以给结构体指定别名

#include <stdio.h>
#include <string.h>
typedef struct Book {char isbn[50];char name[20];int price;
}B;int main() {// 声明struct Book b;// 初始化b.price = 20;strcpy(b.name, "笑场");// 声明同时初始化struct Book a = {"122333123", "冷玚", 45};B c = {"122334233123", "乡土中国", 65};return 0;
}

属性声明的同时进行变量声明

struct Book {char isbn[50];char name[20];int price;
} stu;

属性声明的同时进行变量声明及初始化

struct Book {char isbn[50];char name[20];int price;
} stu = {"1531", "宇宙超度指南", 46};

如果只需要声明一次,可以省略结构体标记

struct {char isbn[50];char name[20];int price;
} stu = {"1531", "宇宙超度指南", 46};

链表

image-20230906083438591

链表结构体定义

typedef struct node {int data;struct node *next;
} node;

image-20230906090559534

创建单链表

node *createList() {node *head = (node *) malloc(sizeof(node));if (head == NULL) return NULL; // 若内存申请失败,指针会为空(一般情况下不会申请失败)head->data = 0;head->next = NULL;return head;
}

头结点:头指针指向的结点

首元结点:头结点后面的第一个结点

插入新结点

image-20230906093917082

插入新结点的时候要注意,一定先抓住后边的那个结点,再修改前边的那个结点的指针指向。

(必须时刻有指针指向后边结点的位置,不能让后边的结点丢了😉)

删除指定位置结点

node *deleteNode(node *head, int pos) {node *currentNode = head;// 如果插入位置比链表长,为非法操作。(头结点data存储链表长度)if (pos > currentNode->data) return NULL;for (int i = 0; i < pos; ++i) {currentNode = currentNode->next;}node *temp = currentNode->next;currentNode->next = currentNode->next->next;// 释放内存free(temp);// 链表长度减一head->data--;return head;
}

输出链表

void printList(node *head) {// 跳过头结点数据node *currentNode = head->next;while (currentNode != NULL) {if (currentNode->next == NULL) {// 是最后一个结点的话不输出箭头printf("%d", currentNode->data);} else {printf("%d->", currentNode->data);}currentNode = currentNode->next;}printf("\n");
}

测试链表相关方法

#include <stdio.h>
#include <stdlib.h>typedef struct node {int data;struct node *next;
} node;// 创建单链表
node *createList() {node *head = (node *) malloc(sizeof(node));if (head == NULL) return NULL;head->data = 0;head->next = NULL;return head;
}// 插入新结点
node *insertNode(node *head, int data, int pos) {node *currentNode = head;// 如果插入位置比链表长,为非法操作。(头结点data存储链表长度)if (pos > currentNode->data) return NULL;for (int i = 0; i < pos; ++i) {currentNode = currentNode->next;}// 新建结点node *newNode = (node *) malloc(sizeof(node));newNode->data = data;// 牵住当前位置下一个结点newNode->next = currentNode->next;// 牵住当前位置上一个结点currentNode->next = newNode;// 链表长度加一head->data++;return head;
}// 删除结点
node *deleteNode(node *head, int pos) {node *currentNode = head;// 如果插入位置比链表长,为非法操作。(头结点data存储链表长度)if (pos > currentNode->data) return NULL;for (int i = 0; i < pos; ++i) {currentNode = currentNode->next;}node *temp = currentNode->next;currentNode->next = currentNode->next->next;// 释放内存free(temp);// 链表长度减一head->data--;return head;
}// 遍历列表
void printList(node *head) {// 跳过头结点数据node *currentNode = head->next;while (currentNode != NULL) {if (currentNode->next == NULL) {// 是最后一个结点的话不输出箭头printf("%d", currentNode->data);} else {printf("%d->", currentNode->data);}currentNode = currentNode->next;}printf("\n");
}int main() {node *l = createList();insertNode(l, 1, 0);insertNode(l, 2, 1);insertNode(l, 3, 0);printList(l);deleteNode(l, 1);printList(l);return 0;
}

image-20230906110134438

http://www.hkea.cn/news/163325/

相关文章:

  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟
  • 深圳网站建设网络公司河北关键词排名推广
  • 在工商网上怎么注册公司seo优化博客
  • 免费的小程序怎么赚钱历下区百度seo
  • 河北石家庄最新疫情最新消息优化防疫政策
  • 一站式做网站哪家强新闻小学生摘抄
  • 江西南昌网站建设公司哪家好谷歌google 官网下载