pos机刷卡顺序,代码实现顺序表的操作函数

 新闻资讯  |   2023-05-17 12:54  |  投稿人:pos机之家

网上有很多关于pos机刷卡顺序,代码实现顺序表的操作函数的知识,也有很多人为大家解答关于pos机刷卡顺序的问题,今天pos机之家(www.poszjia.com)为大家整理了关于这方面的知识,让我们一起来看下吧!

本文目录一览:

1、pos机刷卡顺序

pos机刷卡顺序

[html] view plain copy

#pragma once #include <assert.h> #include <stdio.h> typedef int DataType; #define MAX_SIZE (100) typedef struct SeqList{ DataType array[MAX_SIZE]; int size; }SeqList; //初始化 void SeqListInit(SeqList *pSL); //销毁 void SeqListDestroy(SeqList *pSL); //增、删、改、查 //增 //尾插 void SeqListPushBack(SeqList *pSL, DataType data); //头插 void SeqListPushBack(SeqList *pSL, DataType data); //根据下标插入 void SeqListInsert(SeqList *pSL, int pos, DataType data); //删 //尾删 void SeqListPopBack(SeqList *pSL); //头删 void SeqListPopFront(SeqList *pSL); //根据下标删除 void SeqListErase(SeqList *pSL); //根据数据删除,只删除遇到的第一个 void SeqListRemove(SeqList *pSL, DataType data); //查询 //返回遇到的第一个下标,如果没有遇到,则返回-1 int SeqListFind(SeqList *pSL, DataType data); //根据下标更新 void SeqListUpdate(SeqList *pSL, int pos, DataType data); //初始化 void SeqListInit(SeqList *pSL) { assert(pSL != NULL); pSL->size = 0; } //销毁 void SeqListDestroy(SeqList *pSL) { assert(pSL != NULL); pSL->size = 0; } //尾插 void SeqListPushBack(SeqList *pSL, DataType data) { assert(pSL != NULL); assert(pSL->size < MAX_SIZE); pSL->array[pSL->size] = data; pSL->size++; } //头插 void SeqListPushFront(SeqList *pSL, DataType data) { assert(pSL != NULL); assert(pSL->size < MAX_SIZE); //1.以要搬移的数作为循环的指示 int pos; for (pos = pSL->size - 1; pos>=0; pos--) { pSL->array[pos + 1] = pSL->array[pos]; } pSL->array[0] = data; pSL->size++; } //根据下标插入 void SeqListInsert(SeqList *pSL, int pos, DataType data) { assert(pSL != NULL); assert(pSL->size < MAX_SIZE); assert(pos >= 0 && pos <= pSL->size); int space; for (space = pSL->size; space>pos; space--) { pSL->array[space] = pSL->array[space - 1]; } pSL->array[pos] = data; pSL->size++; } //删 //尾删 void SeqListPopBack(SeqList *pSL) { pSL->size--; } //头删 void SeqListPopFront(SeqList *pSL) { assert(pSL != NULL); int pos; for (pos = 0; pos < pSL->size-1; pos++) { pSL->array[pos] = pSL->array[pos + 1]; } pSL->size--; } //根据下标删除 void SeqListErase(SeqList *pSL, int pos) { assert(pSL != NULL); assert(pos >= 0 && pos < pSL->size); int node; for (node = pos; node < pSL->size - 1; node++) { pSL->array[node] = pSL->array[node + 1]; } pSL->size--; } //查询 int SeqListFind(SeqList *pSL, DataType data) { assert(pSL != NULL); int i; for (i = 0; i < pSL->size - 1; i++) { if (pSL->array[i] == data) { return i; } } return -1; } //根据数据删除 void SeqListRemove(SeqList *pSL, DataType data) { int pos = SeqListFind(pSL, data); if (pos != -1) { // 如果找到了 SeqListErase(pSL, pos); } } //根据下标更新 void SeqListUpdate(SeqList *pSL, int pos, DataType data) { assert(pSL != NULL); assert(pos >= 0 && pos < pSL->size - 1); pSL->array[pos] = data; } //打印函数 void SeqListPrint(SeqList *pSL) { int i; for (i = 0; i < pSL->size; i++) { printf("%d ", pSL->array[i]); } printf("\"); } void TestSeqList() { SeqList sl; SeqListInit(&sl); SeqListPushBack(&sl, 1); SeqListPushBack(&sl, 2); SeqListPushBack(&sl, 3); SeqListPushBack(&sl, 4); //SeqListPushFront(&sl, 0); //SeqListPushFront(&sl, -1); //SeqListInsert(&sl,2,2); //SeqListPopBack(&sl); //SeqListPopFront(&sl); //SeqListPopFront(&sl); //SeqListErase(&sl, 4); //SeqListRemove(&sl, 2); SeqListUpdate(&sl,1,6); SeqListPrint(&sl); }

用typedef int DataType; 对int 进行重命名。

定义一个结构体,结构体中参数为,一个DataType型的数组,一个DataType型的size,

数组中存放数据,size表示数组的长度。

以上就是关于pos机刷卡顺序,代码实现顺序表的操作函数的知识,后面我们会继续为大家整理关于pos机刷卡顺序的知识,希望能够帮助到大家!

转发请带上网址:http://www.poszjia.com/news/47458.html

你可能会喜欢:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 babsan@163.com 举报,一经查实,本站将立刻删除。