线性表的顺序存储结构用C++实现代码:
#include "pch.h"
#include <stdio.h>
#include <malloc.h>
//#define DATA int
typedef int DATA;
struct SNode
{
DATA data;
SNode* pNext;
};
SNode* g_pHead = NULL;
void AddHead(DATA data)
{
SNode* p = (SNode*)malloc(sizeof(SNode));
p->data = data;
p->pNext = g_pHead;
g_pHead = p;
}
void Print()
{
SNode* p = g_pHead;
printf("List:");
while (p) //当节点的地址不为NULL
{
printf("%d ", p->data);
p = p->pNext;
}
printf("\n");
}
int main()
{
AddHead(1);
AddHead(2);
AddHead(3);
Print();
return 0;
}
程序运行结果如下:
扩展资料:
双向链表框架:
#pragma once
typedef void* POSITION;
typedef int DATA;
struct SNode
{
DATA data;
SNode *pPrev, *pNext;
};
class CList
{
SNode *m_pHead, *m_pTail;
int m_nCount;
public:
CList();
~CList();
void RemoveAll();
DATA GetNext(POSITION &pos);
DATA GetPrev(POSITION &pos);
void AddHead(DATA data);
void AddTail(DATA data);
void RemoveAt(POSITION pos);
};
用C语言实现线性表的顺序存储(创建,插入,删除和查找)
} for(p1=head;p1->next!=pfinished;)\/\/对链表进行从大到小排序(这里用冒泡法) \/\/p1使之总是指向头结点,pfinished使之总是指向已排序好的最前面的结点 \/\/ptemp作为中介,保存p2的上一个结点 { for(p2=p1;p2->next!=pfinished;) { if(*(&(p2->math)+num-'0')<*(&(p2->next->math)+num-'...
用c++实现线性表在顺序存储上的删除,判空,表置空操作
bool deleteElement(index){ if(index>0&&index<Maxsize){ deleted ary[index];return ture;} else return false;} 判空:bool isEmpty(){ if(ary[0] == null)return true;else return false;} 表置空:bool clear() { if(ary[0] == 0)return true;else for(int i = 0;i<Maxsize...
用C++方法实现顺序表线性表的建立、插入、删除和逆转操作。并用主函数...
include<iostream> using namespace std;typedef int ElemType;struct NodeType { ElemType data;NodeType *next;};class LinkList { private:NodeType *Head;public:LinkList();\/\/构造 ~LinkList();\/\/析构 void create();\/\/建表 void insert();\/\/插入 ElemType delet();void display();void inv...
怎样C++实现线性表的建立、插入、删除、倒序?
void Merge2List(SeqList L1,SeqList L2,SeqList *L3); \/\/对递增顺序表L1,L2求并集,即去重复,结果存放在顺序表L3中 void Merge3List(SeqList *L1,SeqList L2); \/\/对递增顺序表L1,L2进行合并,结果存放在顺序表L1中 void reverse(SeqList *L); \/\/逆置线性表函数 void delall(SeqList *L, DataType ...
如何用c++建立一个线性表?
用c++建立一个线性表有以下5步:1、准备数据:定义了顺序表的最大长度MAXLEN、顺序表数据元素的类型DATA以及顺序表的数据结构SLType。在数据结构SLType中,Listen为顺序表已存结点的数量,也就是当前顺序表的长度,ListData是一个结构数组,用来存放各个数据结点。我们认为该顺序表是一个班级学生的记录。...
求一个c++的建立线性表最简单的程序,要能运行的
{ \/\/ 操作结果:构造一个空的顺序线性表 L.elem = (ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if (!L.elem)exit(OVERFLOW); \/\/ 存储分配失败 L.length = 0; \/\/ 空表长度为0 L.listsize = LIST_INIT_SIZE; \/\/ 初始存储容量 return OK;} Status DestroyList(SqList &L){ \/...
用C++建立一个线性表,输入10个数,并按从小到大显示出来
{ \/* 操作结果:构造一个空的顺序线性表*\/ L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(OVERFLOW); \/* 存储分配失败*\/ L.length=0;\/* 空表长度为0 *\/ L.listsize=LIST_INIT_SIZE;\/* 初始存储容量*\/ return OK;} Status ListInsert_Sq(SqList &L,...
【100分】数据结构——使用C语言(线性表)
using namespace std;\/\/c++的一个指令 typedef struct { int *elem; \/\/存储空间基址 int length; \/\/当前长度 int listsize;\/\/当前分配的存储容量 \/\/ (以sizeof(ElemType)为单位)\/\/int *next;}sqlist;void initList(sqlist &La){\/\/构造一个空线性表L La.elem=(int *) malloc(100 ...
用C语言编写程序实现顺序表的插入操作,并且从键盘读取元素给顺序表初...
在你的基础上改的 include<stdio.h> include<stdlib.h> define LISTSIZE 100 define ADD 10 typedef struct { int *elem;int length;int listsize;}List;\/\/定义线性表的结构体 void SqList(List &L){ \/\/int i;\/\/C++中C程序的变量定义放在开始 L.elem=(int *)malloc(LISTSIZE*sizeof(int...
我用c++实现一个线性顺序表,用的是void类型,没有返回值,用if后,return...
函数前面加void就是没有返回值的意思,如果加了void,函数中就不必出现return语句。如果函数中有“return;”语句,执行到这里,会跳出函数。注意是“return;”,不是“return()”。加分号就行了,不要加括号。