操作结果:返回L中数据元素个数 */int listLength (linkList L) { int i = 0; linkList p = L->next; /* p指向第一个结点 */ while (p) { /* 没到表尾 */ i++; p=p->next; } return i;} /* 寻找指定特征(compare)元素的位序 *//* 初始条件: 线性...
新建一个list.c文件 #include<stdio.h>#include<malloc.h>//动态分配内存#include<stdlib.h>//exit 函数#include<stdbool.h>//布尔值函数structArr{int*pBase;//存储的是数组第一个元素的地址intlen;//数组能容纳的最大元素的个数intcnt;//有效数组个数//自动增长因子};voidshow_arr(structArr *pArr);/...
//typedef int SLTADataType;typedef struct SListNode //--single Linked List{SLTDataType data;//成员变量struct SListNode* next;}SLTNode;void SLTPrint(SLTNode* phead);//void SLPushFront(SLTNode* pphead,SLTDataType x);void SLPushFront(SLTNode** pphead, SLTDataType x);//头部插入//void ...
函数功能: 格式化打印函数 */charUSART1_PRINTF_BUFF[1024];voidUSART1_Printf(char*fmt,...){va_list ap;/*1. 初始化形参列表*/va_start(ap,fmt);/*2. 提取可变形参数据*/vsprintf(USART1_PRINTF_BUFF,fmt,ap);/*3. 结束,释放空间*/va_end(ap);/*4. 输出数据到串口1*/USARTx_StringSend(USART...
1、首先定义一个单链表的数据结构 创建节点函数原型可定义如下:struct list *create_node(int data) ;...
⑦从单链表的头部删除数据 void SLPopFront(SLNode** pplist); 对于删除我们还是和上面的尾删类似,需要考虑节点数量的问题 代码: //头删void SLPopFront(SLNode** pplist){if ((*pplist) == NULL){return;}else{SLNode* Temp = *pplist;*pplist = (*pplist)->next;free(Temp);Temp = NULL;}} ...
void printList(linkedList L):打印链表,O(N) ptrToNode insert_x(int x, linkedList L, ptrToNode p):insert元素x,在p后面插入x, 返回插入x对应node地址,O(1) (2) 独立功能:不同类型链表内部存在独立功能函数,此处不一一展示 2.1.2 链表应用 int* bucketSort(const int A[], int N, int M, bool...
printf("打印单链表:"); while( List2 != NULL ) { printf("%c", List2->date); List2 = List2->next; } return0; } 运行结果: __EOF__ 本文作者:益生李佳菌 本文链接:https://www.cnblogs.com/jerryleesir/p/13294221.html 关于博主:评论和私信会在第一时间回复。或者直接私信我。
我们无法预知其中的数据,可能是整数,也可能是字符串,或者是其它的数据。那么怎么办呢?这里有几种方法: 方法一:实现多个函数,需要用到哪个就调哪个 比如存放的是整数,可以调用dlist_print_int函数来打印;存放的是字符串,可以调用dlist_print_string函数来打印。
FILE 是系统定义的一种结构类型的名称。FILE *fp; 变量类型声明。声明 fp 是 FILE型指针,用于指向FILE类型 (文件结构)。文件流-- 排成一队,有先后次序的 输入(或输出)一串数据,驻留并通过 输入输出缓冲区,进出程序。如同水流般地流入或流出。它来自文件或写入文件。