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

怎样自己做网站推广it培训四个月骗局

怎样自己做网站推广,it培训四个月骗局,网站有源码之后怎么建设网站,好sf123网站123目录 第一题 顺序表的初始化,销毁,头插,尾插,头删,尾删,指定位置插入,指定删除以及打印 第二题 移除元素 题目链接: OJ链接 题目详解:移除元素 第三题:删…

目录

第一题 顺序表的初始化,销毁,头插,尾插,头删,尾删,指定位置插入,指定删除以及打印

第二题 移除元素

题目链接: OJ链接

题目详解:移除元素 

第三题:删除有序数组中的重复项

题目链接:OJ链接 


第一题 顺序表的初始化,销毁,头插,尾插,头删,尾删,指定位置插入,指定删除以及打印

//SL.h
#pragma oncetypedef int SLDataType;typedef struct SeqList
{SLDataType* a;int size;int capacity;
}SL;//初始化
void SLInit(SL* psl);
//销毁
void SLDestory(SL* psl);
//打印函数
void SLPrint(SL* psl);
//扩容函数
void SLCheckCapacity(SL* psl);
//尾插
void SLPushBack(SL* psl, SLDataType x);
//头插
void SLPushFront(SL* psl, SLDataType x);
//尾删
void SLPopBack(SL* psl);
//头删
void SLPopFront(SL* psl);
//指定位置出入
void SLInsert(SL* psl, int pos,SLDataType x);
//制定位置删除
void SLErase(SL* psl, int pos);
//查找
int SLFind(SL* psl, SLDataType x);//SL.c
#define _CRT_SECURE_NO_WARNINGS
#include"SL.h"
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<assert.h>//初始化
void SLInit(SL* psl)
{psl->a = NULL;psl->size = 0;psl->capacity = 0;
}
//销毁
void SLDestory(SL* psl)
{assert(psl->a);free(psl->a);psl->a = NULL;psl->size = 0;psl->capacity = 0;
}
//打印函数
void SLPrint(SL* psl)
{assert(psl);for(int i=0;i<psl->size;i++){printf("%d ", psl->a[i]);}printf("\n");
}
//扩容函数
void SLCheckCapacity(SL* psl)
{assert(psl);if(psl->size==psl->capacity)		//当最后一个元素的下一个位置等于容量,即满了时要扩容{int newcapacity = psl->capacity == 0 ? 4 : psl->capacity * 2;	//	如果容量为0的话先赋初值为4,否则扩2倍SLDataType* tmp = (SLDataType*)realloc(psl->a, sizeof(SLDataType) * newcapacity); //用指针指向新地址,//realloc(a,b);第一个参数a是扩容前的原地址,b是扩容大小。扩容的容量大小是Int型用sizeof(SLDataType)求得数据类型所占字节子在成容量,是开辟新空间所占的字节数if(tmp==NULL){perror("realloc fail");return 0;}psl->a = tmp;//将新空间赋给原地址,如果不引用tmp,如果扩容失败会导致原地址也消失psl->capacity = newcapacity;}}
//尾插
void SLPushBack(SL* psl, SLDataType x)
{assert(psl);			//指针不能为空NULLSLCheckCapacity(psl);psl->a[psl->size] = x;//顺序表是在size插入数据psl->size++;
}
//头插
void SLPushFront(SL* psl, SLDataType x)
{assert(psl);SLCheckCapacity(psl);int end = psl->size - 1;while(end>=0){psl->a[end + 1] = psl->a[end];end--;}psl->a[0] = x;psl->size++;
}
//尾删
void SLPopBack(SL* psl)
{assert(psl);assert(psl->size > 0);psl->size--;			//size--,直接覆盖前一个,不用free()
}
//头删
void SLPopFront(SL* psl)
{assert(psl);assert(psl->size > 0);int begin = 0;while (begin < psl->size)	//	向前覆盖{psl->a[begin] = psl->a[begin + 1];begin++;}psl->size--;			//size--
}
//指定位置插入
void SLInsert(SL* psl, int pos, SLDataType x)
{assert(psl);assert(pos >=0 && pos <=psl->size );SLCheckCapacity(psl);int end = psl->size - 1;while(end>=pos){psl->a[end + 1] = psl->a[end];end--;}psl->a[pos] = x;psl->size++;}
//指定位置删除
void SLErase(SL* psl, int pos)
{assert(psl);assert(pos >= 0 && pos <= psl->size);while(pos<=psl->size-1){psl->a[pos] = psl->a[pos + 1];pos++;}psl->size--;
}
//查找
int SLFind(SL* psl, SLDataType x)
{assert(psl);assert(psl->size > 0);for(int i=0;i<psl->size-1;i++){if(psl->a[i]==x){return i;}}
}//test.c
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include"SL.h"
void text1()
{SL sl; //SL 结构体类型,sl是结构体变量SLInit(&sl);		//初始化SLPushBack(&sl,1);	//将变量sl指向的空间传递给形参,这样形参可以改变实参SLPushBack(&sl,2);SLPushBack(&sl,3);SLPushBack(&sl,4);SLPushBack(&sl,5);SLPrint(&sl);SLPushFront(&sl, 0);SLPushFront(&sl, -1);SLPushFront(&sl, -2);SLPushFront(&sl, -3);SLPrint(&sl);SLPopBack(&sl);SLPopBack(&sl);SLPopBack(&sl);SLPopBack(&sl);SLPopBack(&sl);SLPopBack(&sl);SLPrint(&sl);SLInsert(&sl, 2, 3);SLPrint(&sl);SLErase(&sl, 2);SLPrint(&sl);int t= SLFind(&sl, -1);SLErase(&sl, t);SLPrint(&sl);SLDestory(&sl);SLPrint(&sl);
}
int main()
{text1();/*printf("%d", sizeof(int));*/return 0;
}

第二题 移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

int removeElement(int* nums, int numsSize, int val){int left = 0;int right = 0;while(right<numsSize){if(nums[right]!=val){nums[left]=nums[right];left++;right++;}else{right++;}}return left;
}

题目链接: OJ链接

题目详解:移除元素 

第三题:删除有序数组中的重复项

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

  • 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
  • 返回 k 。

题目链接:OJ链接 

非严格递增的含义:

后面都大于等于前者,不会小于前者

如 123345,是非严格递增,123342不是非严格递增

思路双指针:

int removeDuplicates(int* nums, int numsSize) {int slow=0;int fast=1;while(fast<numsSize){if(nums[fast]!=nums[slow]){slow++;nums[slow]=nums[fast];fast++;}else{fast++;}}return slow+1;
}

 

 

http://www.shuangfujiaoyu.com/news/8015.html

相关文章:

  • 驻马店阿里巴巴做网站it教育培训机构
  • 深圳市建设工程造价站官网网站优化比较好的公司
  • 中国建站网短视频seo营销系统
  • 校园微网站建设方案ppt模板关键词首页排名代做
  • 西安建设工程信息网站恢复原来的百度
  • 学做馒头面包哪个网站好宜昌今日头条新闻
  • 网站建设与企业管理心得体会免费入驻的卖货平台有哪些
  • 网站开发测试工具各手机系统深圳广告投放公司
  • 成都哪家做网站做的好十大免费网站推广平台有哪些
  • 网站网页建设与制作怎么做账写软文赚钱的平台都有哪些
  • 个人网站 可以做论坛吗怎么做网络推广
  • 北京高端网站设计百度快照提交入口
  • 怎么确认网站是什么语言做的百度网站排名查询
  • 怎样在网站上做免费的网业网上怎么找人去推广广告
  • 免费营销网站制作模板微信营销的功能
  • 怎么自己制作微信小程序成都网站快速排名优化
  • 企业网站php模板全球热门网站排名
  • 网站怎么做dwcs6网站制作建设公司
  • 医院网站建设步骤怎么找需要推广的商家
  • 兼职做Ppt代抄论文的网站网站提交收录软件
  • 蓝色网站欣赏营销方案怎么写?
  • 湖南 微网站开发与设计比赛晋江友情链接是什么意思
  • 管局备案网站百度学术官网论文查重免费
  • wordpress日志归档长沙优化科技
  • 建购物网站如何写好软文
  • 建设营销型网站的目的百度账号登录不了
  • wordpress网站克隆手机端网站优化
  • 深圳建设交易信息网站谷歌seo外包公司哪家好
  • 自贡建设专业网站设计百度官网网站
  • 石家庄做网站优化seo交互论坛