#include<stdio.h>#include<stdlib.h>#define MAX 100 typedef struct bNode{ double no; char name[MAX]; double price; struct bNode * next;}bNode,*bLnode; bLnode createData(bLnode B);void traverse(bLnode B); int main(){ bLnode book; book = createDa…
这里用的是冒泡排序 #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct Book{ double no; char name[MAX]; double price; struct Book * next; }Book,*BList; void CreatList(BList &B) { B = (BList)malloc(sizeof(Book)); B->next = NULL; B…
#include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct Book{ double no; char name[MAX]; double price; struct Book * next; }Book,*BList; //创建列表 void CreatList(BList &B) { //头插法创建单链表 B = (BList)malloc(sizeof(Book)); B->next =…
这道题可以用头插法创建列表,然后正常输出: #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct Book{ double no; char name[MAX]; double price; struct Book * next; }Book,*BList; //头插法创建链表 void CreatList(BList &B) { B = (BList)malloc(sizeof(Book))…
如果编译不通过,可以将C该为C++ #include<stdio.h> #include<stdlib.h> #define MAX 100 //创建节点 typedef struct Book{ double no; char name[MAX]; double price; struct Book * next; }Book,*BList; //创建链表 void CreatList(BList &B,int n) { B = (BList)malloc(sizeof(…
#include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char name[MAX]; double price; }Book; int createList(Book b[]); void traverse(Book b[],int len); void sortList(Book b[],int len); int main() { Book book[MAX]; int…
上一节中, 线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可用一个简单,直观的公式来表示.然后,另一方面来看,这个特点也造成这种存储结构的弱点,在做插入或删除操作时,需移动大量元素. 而链式存储结构,由于它不需要逻辑上相邻的元素在物理位置上也相邻,因此它没有顺序存储结构所具有的弱点,但同时也失去了顺序表可随机存取的优点. 线性链表 wiki中的定义: 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不…
优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有最高进先出 (largest-in,first-out)的行为特征. 例如下图:任务的优先权及执行顺序的关系                  优先队列是0个或多个元素的集合,每个元素都有一个优先权或值 时间复杂度         Push时进行排序                 有序链表(即顺序…
队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出.简称链队列. 实现代码如下: /* LinkQueue.h 头文件 */ #include<iostream> #define OK 1 #define ERROR 0 typedef int QElemType; typedef int Status; class QNode{ public: QNode():data(0),next(NULL) {} QElemType data; QNode *next; }; class…
如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈:反之,如果它的变化在可控范围内,使用顺序栈会好一些. 简单的栈的链式存储结构代码如下: /*LinkStack.h*/ #include<iostream> #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 typedef int SElemType; typedef int Status; class StackNode{ public: Stac…