博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十字链表c++版
阅读量:4030 次
发布时间:2019-05-24

本文共 2409 字,大约阅读时间需要 8 分钟。

#include
using namespace std;typedef struct OLNode{
int i,j; int e;//自定义数据类型 struct OLNode *right,*down;} OLNode,*OLink;typedef struct{
OLink *rhead,*chead;//行和列链表头指针 int num_r,num_c,num_e;//矩阵的行数,列数和非零元的个数} CrossList;CrossList CreateMatrix_OL(CrossList M);void display(CrossList M);int main(){
freopen("in.txt","r",stdin); CrossList M; M.chead=M.rhead=NULL; M=CreateMatrix_OL(M); display(M); return 0;}CrossList CreateMatrix_OL(CrossList M){
int nr,nc,ne; int r,c,e; OLNode *p,*q; cin>>nr>>nc>>ne;//行数,列数,非零元个数 M.num_c=nc; M.num_r=nr; M.num_e=ne; M.rhead=(OLink*)malloc((nr+1)*sizeof(OLink)); M.chead=(OLink*)malloc((nc+1)*sizeof(OLink));// if(!(M.rhead=(OLink*)malloc((nr+1)*sizeof(OLink)))||!(M.chead=(OLink*)malloc((nc+1)*sizeof(OLink))))// {
// cout<<"初始化链表失败"<
>r>>c>>e; r!=0; cin>>r>>c>>e) {
p=(OLNode*)malloc(sizeof(OLNode));// if(!(p=(OLNode*)malloc(sizeof(OLNode))))// {
// cout<<"初始化三元组失败"<
i=r; p->j=c; p->e=e; //链接到行指定位置 if(M.rhead[r]==NULL||M.rhead[r]->j>c) {
p->right=M.rhead[r]; M.rhead[r]=p; } else {
for(q=M.rhead[r]; q->right&&q->right->j
right); p->right=q->right; q->right=p; } //链接到列指定位置 if(M.chead[c]==NULL||M.chead[c]->i>r) {
p->down=M.chead[c]; M.chead[c]=p; } else {
for(q=M.chead[c]; q->down!=NULL&&q->i
down); p->down=q->down; q->down=p; } } return M;}void display(CrossList M)//行展示{
OLink p; for(int i=1; i<=M.num_r; i++) {
if(M.rhead[i]!=NULL) {
p=M.rhead[i]; while(p!=NULL) {
printf("%d\t%d\t%d\n", p->i, p->j, p->e); p = p->right; } } }}//void display(CrossList M)//列展示//{
// for (int i = 1; i <= M.num_c; i++)// {
// if (NULL != M.chead[i])// {
// OLink p = M.chead[i];// while (NULL != p)// {
// printf("%d\t%d\t%d\n", p->i, p->j, p->e);// p = p->down;// }// }// }//}

参考大佬代码写的模板

转载地址:http://ymqbi.baihongyu.com/

你可能感兴趣的文章
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>
小谈python 输出
查看>>
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
查看>>
python:如何将excel文件转化成CSV格式
查看>>
Django 的Error: [Errno 10013]错误
查看>>
机器学习实战之决策树(一)
查看>>
[LeetCode By Python] 2 Add Two Number
查看>>
python 中的 if __name__=='__main__' 作用
查看>>
机器学习实战之决策树二
查看>>
[LeetCode By Python]7 Reverse Integer
查看>>
[LeetCode By Python]9. Palindrome Number
查看>>
[leetCode By Python] 14. Longest Common Prefix
查看>>
[LeetCode By Python]107. Binary Tree Level Order Traversal II
查看>>
[LeetCode By Python]108. Convert Sorted Array to Binary Search Tree
查看>>
[leetCode By Python]111. Minimum Depth of Binary Tree
查看>>
[LeetCode By Python]118. Pascal's Triangle
查看>>
[LeetCode By Python]121. Best Time to Buy and Sell Stock
查看>>
[LeetCode By Python]122. Best Time to Buy and Sell Stock II
查看>>
[LeetCode By Python]125. Valid Palindrome
查看>>