C語言關於線性的修改與完善,線性表c語言實現 求高人完善

2022-06-29 17:12:15 字數 4666 閱讀 7656

1樓:匿名使用者

幫你改好了,看註釋,不知道你是從**抄來的,真夠累人的,好好研究一下吧,祝學業有成,加油!

#include

#include

#define list_init_size 10

#define increment 2

//error ok要提前定義了,才能使用

#define error 0

#define ok 1

typedef int status ;

typedef struct sqlist; //型別定義

初始化順序表

}void output(sqlist l) //輸出順序表

l.elem=newbase;

l.listsize+=increment;

}int *q=&(l.elem[i-1]); //這裡是地址,要定義指標

for(int *p=&(l.elem[l.length-1]);p>=q;--p) //同上

*(p+1)=*p;

*q=x;

++l.length;

return ok;

函式中用的是i,哪來的j

//增加一個比較函式

status compare ( int a , int b )

順序表中查詢e

int main()

}while(op) ;

return 0;}

2樓:濮方雅

簡單看了下,錯誤很多:

1、ok 沒有定義

2、error 沒有定義

3、insertlist函式中 newbase、q、p沒有定義;申請記憶體失敗應在列印錯誤資訊後直接返回

4、insertlist、deletelist函式應定義為int型,因為在函式中返回值為 ok或 error

5、status沒有定義

……錯誤太多了 ,還不如直接重新寫一個。

線性表c語言實現 求高人完善 10

3樓:

#include

#include

#define maxsize 50

typedef char elemtype;

typedef struct

sqlist; //順序表的型別定義

//建立順序表

void initlist(sqlist *&l)

void destroylist(sqlist *&l)

int listempty(sqlist *l).

int listlength(sqlist *l)

void displist(sqlist *l)

int locateelem(sqlist *l, elemtype e)

#include

#include

typedef char elemtype;

typedef struct lnode //定義單連結串列結點型別

linklist;

//頭插法建立單連結串列

//尾插法建立單連結串列

r->next=null; //終端結點next域置為null

}void initlist(linklist *&l)

free(p); //此時q為null,p指向尾結點,釋放它

}int listempty(linklist *l)

int listlength(linklist *l)

return(i);

}void displist(linklist *l)

printf("\n");

if (p==null) //不存在第i個資料結點

return 0;

else //存在第i個資料結點

}int locateelem(linklist *l,elemtype e)

if (p==null)

return(0);

else

return(n);

if (p==null) //未找到位序為i-1的結點

return 0;

else //找到位序為i-1的結點*p

if (p==null) //未找到位序為i-1的結點

return 0;

else //找到位序為i-1的結點*p}

4樓:

#include

#include

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2

// status是函式的型別,其值是函式結果狀態**

typedef int status;

typedef int elemtype;

#define list_init_size 5

#define listincrement 2

typedef struct sqlist;

q = &(l.elem[i-1]);

for(p = &(l.elem[l.length-1]);p>=q;--p)*(p+1) =*p;

*q = e;

++l.length;

return ok;

void main()

for(i=0;i

printf("%d",l.elem[i]);

printf("\n");

scanf("%d,%d",&i,&e);

listinsert_sq(l,i,e);

for(i=0;i

printf("%d",l.elem[i]);

printf("\n");

scanf("%d",&i);

listdelete_sq(l,i,e);

for(i=0;i

printf("%d",l.elem[i]);}

5樓:代

#include"stdio.h"

#include"malloc.h"

struct node

;int n;

struct node *creat(void)

p2->next=null;

return(head);

}void print(struct node *head)

}printf("\n");

}struct node *paixu(struct node *head)

p2=p2->next;

}p1=p1->next;}}

return(head);

}struct node *nizhi(struct node *head)

p2->next=p1;

head=p2;

return(head);

}struct node *insert(struct node *head,struct node *l,int i)

l->next=p->next;

p->next=l;

return(head);

}struct node *del(struct node *head,int i)

p->next=p->next->next;

return(head);}

c語言程式設計:將線性表的前m個元素和後n個元素互換

C語言線性結構和非線性結構怎麼區分啊

一 線性結構是一個有序資料元素的集合。其中資料元素之間的關係是一對一的關係,即除了第一個和最後一個資料元素之外,其它資料元素都是首尾相接的。常用的線性結構有 線性表,棧,佇列,雙佇列,陣列,串。二 非線性結構中各個資料元素不再保持在一個線性序列中,每個資料元素可能與零個或者多個其他資料元素髮生聯絡。...

請教通俗的語言講解線性相關與線性無關

比如四組數 a向量抄 b向量 c向量 d向量 它們線性相關的話 則xa yb zc wd 0的時候 x y z w它們不一定全為0 如果 只有當 x y z w 全為零時 xa yb zc wd 0 則線性無關 通俗地說 du,一個向量組線性相關,即這zhi個向量組中有dao 多餘 的向量內.多餘 ...

資料結構C語言版,順序線性表的合併程式。最好有註釋

希望我的回答對你的學習有幫助 include 順序表儲存空間長度的最小值 define listminsize 10 順序表儲存結構型別定義 typedef struct seqlist 順序表初始化 void listinitialize seqlist pl,int size 按給定的下標取順序...