数据结构
senjiaxi
这个作者很懒,什么都没留下…
展开
-
栈—增删查改的实现
#pragma once// 支持动态增长的栈typedef int STDataType;typedef struct Stack{ STDataType* _a; int _top; // 栈顶 int _capacity; // 容量}Stack;// 初始化栈void StackInit(Stack* ps);// 入栈void StackPush(Stack*...原创 2019-12-13 12:54:04 · 275 阅读 · 1 评论 -
无头单链表—简单功能的实现
单链表的头文件如下:#include "Slist.h"void SlistPrint(SlistNode* plist){ SlistNode* cur = plist; while (cur != NULL){ printf("%d->", cur->data); cur = cur->next; } printf("NULL\n");}SlistN...原创 2019-12-10 15:21:35 · 134 阅读 · 0 评论 -
几道简单的数组在线OJ题
1.原地移除数组中所有的元素val,要求时间复杂度为O(N),空间复杂度为O(1)。给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)链接:https...原创 2019-12-05 13:33:39 · 208 阅读 · 0 评论 -
顺序表—简单功能的实现
顺序表的头文件如下:typedef int SLDataType;typedef struct Seqlist{ SLDataType* a; size_t size; size_t capacity;}Seqlist;//对数据的管理:增删查改void SeqlistPrint(Seqlist* ps);//顺序表的显示void SeqlistInit(Seqlist* ps...原创 2019-12-02 22:29:57 · 140 阅读 · 0 评论 -
【数据结构】几道简单的时间算法题
分析以下程序的时间复杂度( )for(int i=0;i<n;i++)for(int j=0;j<n;j++)a[i][j]=i*j;A、O(n)B、O(n^2)C、O(nlogn)D、O(logn)a[i][j]=ij;这个语句执行了nn次,所以选B分析以下函数的时间复杂度( )void fun(int n) {int i=l;while(i&...原创 2019-11-30 00:17:03 · 849 阅读 · 0 评论