線性表 a1,a2an 中的元素遞增有序,採用帶表頭結

2021-04-13 12:04:41 字數 3400 閱讀 4034

1樓:匿名使用者

node *p = l->next; //p指向來第自一個

bai資料

du節zhi點

int i = 0;

while(p !

dao= null)

return -1;

有一個線性表(a1,a2,...,an),其中n>=2,採用帶頭結點的單連結串列儲存,頭指標為l,每個結點存放線性表中

2樓:水裡風

(1)線性表中的元素無序

pnode *p=l;

while(p!=null)

if(p->data==x)return p;

else p=p->next;

return null;

(2)線性表中的元素按遞增有序

pnode *p=l;

while(p!=null)

if(p->data==x)return p;

else if(p->data>x)return null;

else p=p->next;

return null;

(3)線性表中的元素按遞減有序

pnode *p=l;

while(p!=null)

if(p->data==x)return p;

else if(p->datanext;

return null;

有一個線性表(a1,a2,...,an),採用帶頭結點的單連結串列l儲存.設計一演算法將其就地逆置.............急急急

3樓:等你愛你惜你

#include

#include

typedef int elemtype;

typedef struct node

lnode,* linklist;

linklist initlist(linklist l);//申請節點空間

linklist input(linklist l);//用於輸入資料

void prinlink(linklist l);//輸出資料void reverse(linklist l);//逆置連結串列main()

linklist initlist(linklist l)//申請節點空間

linklist input(linklist l)//輸入資料return l;//返回連結串列

}void prinlink(linklist l)//列印連結串列}void reverse(linklist l)//逆置連結串列}

線性表(a1,a2,a3,…,an)中元素遞增有序且按順序儲存與計算機內。要求完成:

4樓:匿名使用者

假設a1,...an存放於陣列的a[0]...a[n-1]void f(int a,int n,int x)}//如果找到則將其與後繼元素交換

//如果x正好是an,則不交換

if(pos!=-1)

}//找不到則將x插入正確位置

else

a[middle]=x;}}

5樓:匿名使用者

#include

#include

#include

typedef struct line

line;

void print(line *head);

void search(line *head);

void insert(line *head,int data);

void change(line* q);

void search(line *head)q=p;

p=p->next;

}if(flag==0)

insert(head,data);

else if(flag==1)

change(q);

}void change(line* q)void insert(line *head,int data)q=p;

p=p->next;

}r->next=p;

q->next=r;

}void print(line *head)}}void main()}}

我有點疑問 第二句話

(2) 若找到將其與後繼元素位置交換

他不就把順序打亂了嗎 呵呵 你這個題的邏輯有問題 不過我還是幫你實現了

線性表(a1,a2,a3,…,an)中元素遞增有序且按順序儲存於計算機內。要求設計一演算法完成:

6樓:匿名使用者

#include

#include

#include

typedef struct line

line;

void print(line *head);

void search(line *head);

void insert(line *head,int data);

void change(line* q);

void search(line *head)q=p;

p=p->next;

}if(flag==0)

insert(head,data);

else if(flag==1)

change(q);

}void change(line* q)void insert(line *head,int data)q=p;

p=p->next;

}r->next=p;

q->next=r;

}void print(line *head)}}void main()}}

問題一:設有一個線性表l(a1,a2,...,an),試設計一個演算法,將線性表倒置.

7樓:匿名使用者

元素既然是按遞增有序排列

把c與d之間的刪除之後用一個迴圈把後面的元素的位置都提前一個就可以了呀

試寫一演算法,對單連結串列實現就地逆置,即利用原表的儲存空間將線性表 (a1,a2,…,an)逆置為(a

8樓:牛牛a哥

#include"stdio.h"

#include"iostream.h"

typedef int elementype;

#define maxsize 100

struct list

;//建立連結串列

int initlist(list *l)return 1;

}int swaplist(list *l)return 1;

} int displaylist(list *l)cout<

}int main()

線性表(a1,a2,a3an)中元素遞增有序且按順序儲存與計算機內。要求完成

假設a1,an存放於陣列的a 0 a n 1 void f int a,int n,int x 如果找到則將其與後繼元素交換 如果x正好是an,則不交換 if pos 1 找不到則將x插入正確位置 else a middle x include include include typedef str...

設數列a1,a2an中的每一項都不為0 求證 若為等差數列,則對任何n屬於N,都有

1 a1 a2 1 a2 a3 1 an an 1 1 d 1 a1 1 a2 1 a2 1 a3 1 an 1 an 1 1 d 1 a1 1 an 1 nd 1 d 1 a1 a n 1 n a1 an 1 設數列a1,a2,a3.an,中的每一項都不為0。證明 為等差數列的充分必要條件是 對任...

元素週期表中是84號開始有天然反射性的,可是物理課本中介紹是

鉍 b 天然放射性元素,為有銀白色光澤的金屬,質脆易粉碎 熔點271.3 c,沸點1560 c,密度9.8克 釐 米3 導電導熱性差 由液態到固態時體積增大。鉍在紅熱時與空氣作用 鉍可直接與硫 鹵素化合 不溶於非氧化性酸,溶於硝酸 熱濃硫酸。鉍可制低熔點合金,用於自動關閉器或活字合金中 碳酸氧鉍和硝...