数据结构稀疏矩阵实验课程设计 /********function definition********/ int init_matrix(crosslist &one) {//initialization one.row_size=0; one.colum_size=0; one.non_zero_amount=0; one.rhead=NULL; one.chead=NULL; return OK; }//init_matrix int creat_matrix(crosslist &one) {//assignment int i;//as count in the loop element news,temp; /*input row size ,colum size and non zero amount*/ printf("Input the row size of the matrix:"); scanf("%d",&one.row_size); printf("Input the colum size of the matrix:"); scanf("%d",&one.colum_size); printf("Input the non zero amount of the matrix:"); scanf("%d",&one.non_zero_amount); /*allocate memory and the first memory not use*/ one.rhead=(element*)malloc(sizeof(element)*(one.row_size+1)); assert(one.rhead!=NULL);//assert have space one.chead=(element*)malloc(sizeof(element)*(one.colum_size+1)); assert(one.chead!=NULL); /*set all the pointer to NULL*/ for(i=1;i<=one.row_size;i++) one.rhead[i]=NULL; for(i=1;i<=one.colum_size;i++) one.chead[i]=NULL; printf("/**************************************/\n"); /*assignment*/ for(i=1;irow); }while(news->row>one.row_size);
1
适用于初学者学习C语言链表操作的源代码,内含链表的增添,查找,删除等基本操作,并附有详细的代码注释
2021-04-25 17:44:42 4KB C语言 链表操作源码 带注释
1
问题描述: 针对带头结点的单循环链表,编写实现以下操作的算法函数。 实现要求: ⑴ 单链表建立函数create:先输入数据到一维数组A[M]中,然后根据一维数组A[M]建立一个单循环链表,使链表中个元素的次序与A[M]中各元素的次序相同,要求该函数的时间复杂度为O(m); ⑵ 定位查找函数Locate:在所建立的单循环链表中查找并返回值为key的第1个元素的结点指针;若找不到,则返回NULL; ⑶ 求出该链表中值最大和次大的元素值,要求该算法的时间复杂度为O(m),最大和次大的元素值通过指针变量带回,函数不需要返回值; ⑷ 将链表中所有值比key(值key通过形参传入)小的结点作为值为key的结点前驱,所有值比key大的结点作为值为key的结点后继,并尽量保持原有结点之间的顺序,要求该算法的时间复杂度为O(m); ⑸ 设计一个菜单,具有上述处理要求和退出系统功能。
2021-04-18 18:57:45 4KB 数据结构 单链表 课程设计
1
数据结构双向链表操作
2021-03-27 20:14:17 73KB 数据结构
1
课程设计报告及代码 静态单链表操作包括创建 插入 删除 输出初始化 等
2020-01-13 03:16:42 419KB 静态单链表操作操作
1
C实现的多线程(pthread)安全链表数据结构 包括member, insert, delete, traverse基本操作 编译时需要链接pthread库,如 gcc -O3 SortList2.c -lpthread
2019-12-21 19:50:44 6KB C 多线程 链表
1