線性表的基本操作

2021-10-11 02:44:25 字數 3921 閱讀 4925

1.定義乙個包含學生資訊(學號,姓名,成績)的順序表和煉表,使其具有如下功能:

(1) 根據指定學生個數,逐個輸入學生資訊;

(2) 逐個顯示學生表中所有學生的相關資訊;

(3) 根據姓名進行查詢,返回此學生的學號和成績;

(4) 根據指定的位置可返回相應的學生資訊(學號,姓名,成績);

(5) 給定乙個學生資訊,插入到表中指定的位置;

(6) 刪除指定位置的學生記錄;

(7) 統計表中學生個數。

2.一元多項式的運算

採用單鏈表儲存一元多項式,實現如下功能

(1)從鍵盤輸入一元多項式的各項係數和指數,建立一元多項式鍊錶;

(2)輸出該一元多項式;

(3)修改多項式(可修改任意一項的系數值或指數值);

(4)任意輸入的兩個多項式相加,求和多項式;

(5)任意輸入的兩個多項式相減,求差多項式。

順序表

#include

#include

#include

typedef

struct

student;

typedef

struct

sqlist;

sqlist create()

return list;

}void

print

(sqlist list)

}void

serachname

(sqlist list)}if

(i==list.length)

printf

("無該學生資訊!\n");

}int

getlength

(sqlist list)

void

getbycindex

(sqlist list)

printf

("%-10s%-10s%-10s\n"

,"學號"

,"姓名"

,"成績");

printf

("%-10s%-10s%-10d\n"

,list.elem[index-1]

.no,list.elem[index-1]

.name,list.elem[index-1]

.price);}

void

del(sqlist* list)

for(i=index;i>length-

1;i++

)printf

("刪除成功!\n");

list-

>length--;}

void

insert

(sqlist* list)

for(i=list-

>length;i>index;i++

)printf

("請輸入要插入同學的學號 姓名 成績:");

scanf

("%s%s%d"

,list-

>elem[index-1]

.no,list-

>elem[index-1]

.name,

&list-

>elem[index-1]

.price)

;printf

("插入成功!\n");

list-

>length++;}

intmain()

單鏈表

#include

#include

#include

typedef

struct

student;

typedef

struct lnodelnode,

*linklist;

lnode create()

else

}return head;

}void

print

(lnode head)

}void

serachname

(lnode head)

p=p-

>next;}if

(!p)

printf

("無該學生資訊!\n");

}int

getlength

(lnode head)

return count;

}void

getbycindex

(lnode head)

p=p-

>next;}if

(index)

}void

del(lnode* head)

else

printf

("刪除成功!");

break;}

q=p;

p=p-

>next;}if

(index)

printf

("無該學生資訊!刪除失敗!\n");

}void

insert

(lnode* head)

else

printf

("插入成功!\n");

break;}

q=p;

p=p-

>next;}if

(index)

printf

("插入失敗!\n");

}int

main()

題目2:

#include

#include

typedef

struct pnodepnode,

*polynomial;

pnode *

createlist()

//建立一元多項式鍊錶

head-

>next =

null

; middle = head;

printf

("請輸入每一項的係數和指數:");

scanf

("%f%d"

,&coef,

&exp)

;while(!

((coef==0)

&&(exp==0)

))//當係數和指數都為0時,多項式結束

s->coef = coef;

s->expn = exp;

s->next = middle-

>next;

middle-

>next = s;

middle = s;

printf

("請繼續輸入:");

scanf

("%f%d"

,&coef,

&exp);}

return head;

}int

print

(pnode *h)

while

(p)printf

("\n\n");

return1;

}pnode *

listadd

(pnode *listya, pnode *listyb)

else

p=p-

>next;

}for

(p=listyb;p;p=p-

>next)}if

(q==

null)}

return head;

}pnode *

listsub

(pnode *listya, pnode *listyb)

else

p=p-

>next;

}for

(p=listyb;p;p=p-

>next)}if

(q==

null)}

return head;

}int

main()

線性表基本操作

線性表基本操作,暑假把大一的 練習一遍。多多指教,謝謝 include include define true 1 define false 0 define ok 1 define error 0 define overflow 1 define list init size 100 typede...

線性表基本操作

線性表的基本操作,靜態分配實現 include include using namespace std define maxsize 50 typedef int elemtpye 靜態分配 typedef structsqlist 動態分配 插入元素,i代表插入的位置,從0開始 bool list...

線性表基本操作

程式名稱 線性表 編譯環境 vc 6.0 作者相關 最後修改 2019.5.10 學習目標 1.如何建立線性表 2.掌握線性表的基本操作 初始化 判斷空表 獲取某位置元素 插入 刪除元素 清空表 合併 輸出 常見錯誤 1.if後有兩條或兩條以上語句時,要加括號 2.return的使用,用在不恰當的地...