定長順序表定義:
#pragma once
#define size 10
typedef struct seqlist
seqlist,*pseqlist;
操作:
//初始化 長度置0即可
void initseqlist(pseqlist ps)
//插入:在pos位置上插入元素val(從pos開始,後面的資料都後移一位,pos位置值置成val,長度加1)
bool insertseqlist(pseqlist ps,int pos,int val)
ps->elem[pos]=val;
ps->length++;
return true;
}//查詢:遍歷ps,在ps上查詢key,返回其下標,沒找到返回-1(順序表是用陣列實現的,陣列內沒有為-1的下標)
int searchseqlist(pseqlist ps,int key)
return -1;//該函式返回元素下標,用-1標誌沒有找到,因為沒有元素下標是-1
}//刪除:遍歷ps,刪除值為key的結點,長度減一,找到返回true,沒找到返回false
bool deleteval(pseqlist ps,int key)
ps->length--;
return true;*/
return deletepos(ps,index);
}//刪除:刪除ps中下標為pos的結點,長度減一,如果下標不合法,返回false
bool deletepos(pseqlist ps,int pos)
ps->length--;
return true;
}//返回有效資料個數length
int getlength(pseqlist ps)
//判空,判斷有效資料個數是否為0
bool isempty(pseqlist ps)
//調destory()
void clear(pseqlist ps)
//銷毀,有效資料個數置0
void destory(pseqlist ps)
//輸出函式,遍歷順序表,乙個乙個列印
void show(pseqlist ps)
printf("\n");
}//返回下標為pos的值,下標不合法,返回false,用rtval帶出要得到的值
bool getelem(pseqlist ps,int pos,int *rtval)
//有序順序表中插入val,順序表人有序
//(在ps中找第乙個比val大的結點,這就是val要插入的位置,從該點起,後面資料都後移一位,長度加1)
void insert(pseqlist ps,int val)
ps->length++;
for(int j=ps->length-1;j>=i;j--)
ps->elem[i]=val;
}//順序表比較(跟字串比較相似),先判斷有空順序表的情況,在判斷都不為空的情況
int compareseqlist(pseqlist ps1,pseqlist ps2)
if(ps1->length>len)
else if(ps2->length>len)
else
return 0;
}}//逆置,(跟字串逆置相似)
//順序表表頭結點值與順序表表尾結點值進行交換,然後第二個節點值與倒數第二個結點值交換,依次
void rev(pseqlist ps)
}//刪除ps1中ps2ps3都有的元素
//先找到ps2和ps3共有的元素,遍歷ps1,若有,刪掉
void dele(pseqlist ps1,pseqlist ps2,pseqlist ps3)
}}//合併ps1,ps2(將ps2中資料乙個乙個插入ps1)
void bing(pseqlist ps1,pseqlist ps2)
}}
不定長順序表定義:
typedef struct dseqlist
dseqlist,*pdseqlist;
與定常順序表的區別在於,當順序表滿了會自動二倍的擴容 順序表 順序表定位
這兩個題本質一模一樣,唯一不同的是本題利用 順序表 將陣列a包裝了起來。在遍歷的過程中,拿順序表的資料去和x比對,若相同,返回當前下標值,若到了最後乙個資料元素都不相同,就返回 1 1.遍歷順序表 2.挨個比對資料元素 prism lang c include const int max 20 設定...
順序表專題 1 順序表
順序表的實現 元素儲存區操作 需求 將一組 通常是同一型別 的幾個資料元素作為乙個整體管理和使用,需要建立這種元素的組,並用變數對他們進行記錄。這樣一組資料的元素個數可能發生變化 因為增刪改查等操作 對於這種需求,最簡單的解決方式是將這組元素視為乙個序列,可以將這個結構抽象為線性表。乙個線性表是某類...
PTA 6 2 順序表操作集 詳解
list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,position p 其中list結構定義如下 typedef int p...