c语言-C语言解答,单链表实现

问题描述

C语言解答,单链表实现
假设某超市销售有m种商品(假设商品的编号为123……m),有n台前台收款机(假设收款机的编号为123……n)进行收款。每次收款以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。系统要求实现结构体数据写入文件,分别构建以收款机和商品为单位的数据分类函数,统计销售总额,构建单链表等功能。

解决方案

http://www.cnblogs.com/lifuqing/archive/2011/08/20/List.html

参考

时间: 2024-09-15 02:44:36

c语言-C语言解答,单链表实现的相关文章

C语言创建和操作单链表数据结构的实例教程_C 语言

1,为什么要用到链表 数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性.但数组也同样存在一些弊病.如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有时需要3 0个大小的数组,有时需要5 0个数组的大小,难于统一.我们只能够根据可能的最大需求来定义数组,常常会造成一定存储空间的浪费. 我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要.链表就是我们需要的动态数组.它是在程序的执行过程中根据需要有数据存储就向系统要求

[单链表]多项式乘法

<数据结构与算法分析 C语言描述>表,栈与队列部分课后习题 //Code by Pnig0s1992 //Date:2012,3,22 #include <stdio.h> #include "Header.h" void MultPolynomial(LinkList Py1,LinkList Py2,LinkList LinkRc); void PrintfPolynomial(LinkList LinkRs); int main(int argc,char

用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环。

问题描述 用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环. 用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环. 解决方案 如果链表有环,永远算不出来 只能假定,这个链表不是环形链表,也没有环 简单事情用递归做是低效率的,即便学习递归,也是不必要的 递推, 可以用递归实现 也可以用迭代实现 前者无循环,后者有 解决方案二: int listLength(List *l) { if(l->next!=NULL) { l=l->next; ret

c语言-C语言将两个递增有序单链表归并为一个降序的单链表,求大侠帮忙看看

问题描述 C语言将两个递增有序单链表归并为一个降序的单链表,求大侠帮忙看看 #include #include #define N 8 typedef struct list { char c; struct list *next; } SLIST; SLIST *creat(char *a) { SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST)); for(i=0; i { q=(SLIST *)malloc(sizeof(SLI

指针-C语言单链表的插入求解了

问题描述 C语言单链表的插入求解了 对于带有头结点的链表,为什么在插入方法需要传入头指针的地址(二重指针)?对于不带头结点的链表,插入或者删除第一个元素时,需要使用头指针的地址,可是对于带头结点链表,为何要呢? 解决方案 解决方案二: C语言不像C++,没有引用参数,所以参数的形参被改变不能作用到实参上. 比如 void foo(int i) { i = 2; } int i = 1; foo(i); // i还是1 为此,需要指针: void foo(int* i) { *i = 2; } i

单链表-C语言选择排序法和冒泡法区别问题

问题描述 C语言选择排序法和冒泡法区别问题 编程实现将给定的一组整数采用选择排序法按由小到大的顺序排序.要求: 1) 编写函数create()根据已知整数数组构造一个单链表,假设结点只有一个整数数据域. 2) 编写函数sort()采用选择排序方法对已知链表进行排序. 3) 在主函数中完成数据的输入与结果的输出. ===我自己写了一个程序,但是不确定选择排序法是什么,求大侠帮忙看下我写的代码sort()是选择排序吗?感觉自己混淆了选择排序法和冒泡排序了,求教如何区别? #include #incl

c语言-编写一程序,将带头结点的单链表拆成一个奇数链表和一个偶数链表

问题描述 编写一程序,将带头结点的单链表拆成一个奇数链表和一个偶数链表 要求用C语言来做!! 解决方案 http://zhidao.baidu.com/link?url=5XqMAQVb1yS0vaNF3QXC9fQPICC-JgqN0lisYvRQHwzYF8jb3ek3ouh_2TG3NKa4eanjSv4illaaV1znE-nkuq 解决方案二: BaiDu:将带头结点的单链表拆成一个奇数链表和一个偶数链表 你会得到很多你想要的. 解决方案三: 这个简单,可以看看面试宝典

单链表-C语言求教merge(struct node *p,struct node *q)哪里出错了?

问题描述 C语言求教merge(struct node *p,struct node *q)哪里出错了? #include "stdio.h" #include "stdlib.h" struct node { int data; struct node next; }; struct node *creat(int *a) { struct node*h,*p,*q; int i; h=p=(struct node)malloc(sizeof(struct nod

单链表-c语言单向链表的问题???

问题描述 c语言单向链表的问题??? #include<stdio.h>#include<stdlib.h>struct node{ int num; struct node *next;};//构建空的链表struct node* InitList(struct node *L){ L = (struct node*)malloc(sizeof(struct node)); L = NULL; printf_s(""InitList sucess!"