開心生活站

位置:首頁 > 綜合知識 > 

線性表怎麼寫

1. 線性表怎麼寫

A是一個結構數組,A[i].data是值,A[i].next是下標,表示下一個數據元素的位置。A[0]是線性表的表頭。當A[i].next==0時,表示A[i].data是線性表的最後一個數據元素。

線性表怎麼寫

通過A[0].next可以找出線性表的第一個元素的下標爲3,第一個數據元素爲A[3].data,即78,根據A[3].next也就是2,找到第二個數據元素A[2].data,即50,再根據A[2].next找到第三個元素。以此類推。

這道題的答案是:78,50,40,60,34,90

2. 數據結構中關於順序結構中的線性表的建立怎麼寫

typedef struct{

int *elem;

int len;

int listsize;

}sqlist;

sqlist creat(){ //這只是建立的方法,主函數自己寫吧

sqlist L;

int n;

printf("請輸入線性表元素的個數:n");

scanf("%d",&n);

L.elem=(int*)malloc(ls*sizeof(int));

L.len=n;

L.listsize=ls;

return L;}

3. 如何把這些數據用線性表表示出來

struct table tab[N]

{

char tab[0].Dest=203.74.205.0

char tab[0].Mask=255.255.255.0

char tab[0].Gate=203.74.205.1

char tab[0].Inte=203.74.205.1

char tab[1].Dest=203.74.206.0

char tab[1].Mask=255.255.255.0

char tab[1].Gate=203.74.206.1

char tab[1].Inte=203.74.206.1

char tab[2].Dest=203.74.207.0

char tab[2].Mask=255.255.255.0

char tab[2].Gate=203.74.207.1

char tab[2].Inte=203.74.207.1

char tab[3].Dest=203.74.208.0

char tab[3].Mask=255.255.255.0

char tab[3].Gate=203.74.206.2

char tab[3].Inte=203.74.206.1

};

4. C語言中怎麼定義個線性表

1、定義結構體類型,這裏需要利用指針和結構體,其中m和n分別表示矩陣的行和列。

2、爲矩陣申請儲存空間,注意這裏使用了malloc()函數。

3、初始化矩陣,這裏將矩陣初始化爲m*n的數組,且矩陣中的每一個元素的值均爲0。

4、釋放存儲空間。

5、一般在定義階段就確定數組的大小,輸入數字即爲數組大小。

6、然後,可以對數組進行初始化,在花括號{}中輸入就完成了。

5. 線性表的主函數要怎麼寫

/*請輸入待建立的表長 : 5請輸入5個元素用空格分開 : 56 54 34 12 76成功建立表!插入元素10。

56 10 54 34 12 76刪除第3個元素。56 10 34 12 76Press any key to continue*/#include using namespace std;#define MaxSize 100typedef int datatype;typedef struct { datatype data[MaxSize]; int last;}SeqList;void Init_SeqList(SeqList*L) { int i; cout > L->last; cout last last;i++) { cin >> L->data[i]; } cout last == MaxSize - 1) { cout L->last + 2)) { cout last;j >= i - 1;j--) L->data[j + 1] = L->data[j]; L->data[i - 1] = x; L->last++; return 1;}int Delete_SeqList(SeqList *L,int i) { int j; if((i L->last + 1)) { cout last;j++) L->data[j - 1] = L->data[j]; L->last--; return 1;}int Locate_SeqList(SeqList *L,datatype x) { int i = 0; while((i last) && (L->data[i] != x)) i++; if(i >= L->last) return -1; else return 0;}void Display_SeqList(SeqList *L) { if(L == NULL) cout last;i++) printf("%d ",L->data[i]); cout 追問: 運行不了啊。

追答: 代碼上邊的/* 。

. */中的內容是在VC下的運行結果,應該可以的。

評論0 0 0。

6. 數據結構線性表void Creat

看到void Creat_Sq(SqList* L),我想問下InitList_Sq()函數的參數是否也是SqList* L類型的,由於你函數void Creat_Sq(SqList* L)參數是指針類型傳入的所以。你在主函數中定義SqList l,就不對了,應該爲SqList *l=(SqList *)malloc(sizeof(SqList));同時你的ElemType類型中的數據類型是什麼樣的,還有創建鏈表函數插入節點在頭部還是尾部等,你要說清楚才能幫你

下面是我寫的一個例子程序,基本根據你的要求來的,只是一種用戶插入方式,很簡單,僅供參考:

#include <iostream> using namespace std; #define ElemType int #define OK 1

const int LIST_INIT_SIZE=100; const int LISTINCREMENT=10;

typedef struct { ElemType * elem; int length; int listsize; int incrementsize; }SqList;

int InitList_Sq (SqList &L, int maxsize= LIST_INIT_SIZE, int incremesize= LISTINCREMENT) { L.elem = new ElemType [maxsize]; if(&L==NULL) return 0; L.length = 0; L.listsize = maxsize; L.incrementsize = incremesize; return OK; }

void Creat_Sq(SqList &L) { int i; char choose; for(i=L.length;i<L.listsize;) { cout<<"Please input the number: "; cin>>L.elem[i]; cout<<"continue to input?[n/y]"; cin>>choose; L.length++; i=L.length; if(choose=='n'||choose=='N') break; } }

void Free_Sq(SqList &L) { delete L.elem; }

void Print_Sq(SqList &L) { int i; for(i=0;i<L.length;i++) { cout<<L.elem[i]<<' '; } cout<<endl; }

int main() { SqList l; InitList_Sq(l); Creat_Sq(l); Print_Sq(l); Free_Sq(l); return 0; }

運行結果如下:

不好意思前面誤導了你一下,本來以爲你是C語言我想C語言沒有引用類型的。線性表創建不是什麼問題,難度在插入和刪除要進行數據移動的,如果還有什麼問題可以追問。

7. 寫出線性表操作的算法

#include<stdio.h>

void search(int a[];int b)

{

int i=0;

while(i<10&&a[i]!=b)

i++;

if(i<10){

printf("found!");

return;

}

else

{

printf("not found");

return;

}

}

main()

{

int a[]={12,26,39,30,52,43,80,92,101,89};

search(a,b);

}

標籤:線性表