C 指標陣列和陣列指標 鍊錶的構建和排序

2021-07-06 01:40:34 字數 1058 閱讀 1017

用於儲存指標的陣列,也就是每個元素都是指標。

int * a[5]; //陣列中有5個指標

[ ]的優先順序高於*優先順序,我認為可以看作int* 是一種型別,定義乙個int * 型別的陣列,就是指標陣列了。

指向陣列的指標,就是乙個指標。

int (*a)[5]; //乙個指向有5個元素的陣列的指標

int b[5];

a=&b;

我的方法是頭指標指向的頭節點不使用, 將生成的新結點插入到表頭。

typedef struct node

node,*pnode;

pnode l=new node; //頭指標

l->next=null;

//插入到表頭

void createlink1( )

}

也可以插入表尾

pnode l=new node; 

l->next=null;

pnode s=l;

void createlink2( )

}

想過使用氣泡排序法,但好像使用的指標很多,沒有實現。這裡使用簡單選擇排序演算法,在陣列排序(從小到大)中,選擇排序法每次找到元素中的最小值,放到陣列的前面,在鍊錶中,將元素插入到表頭比較簡單,所以每次找到最大元素,插入到表頭,這樣最大的元素在表尾,最小元素在表頭。

void sortlink(pnode p)//pnode是頭指標

pi=pmax->next; //pmax->next中的元素是當前最大元素

pmax->next=pi->next;//取出節點pi

//插入到表頭

pi->next=p->next;

p->next=pi;

if(p0==p)

p0=pi;//p0始終指向元素最大的節點,

//p0->next==null表示最大節點已經到表尾

}}

C指標陣列和陣列指標

測試 int main 定義二維陣列m並初始化 int p 4 陣列指標 p是指標,指向一維陣列,每個一維陣列有4個int元素 int i,j int q 3 指標陣列 q是陣列,陣列元素是指標,3個int指標 p m p是指標,可以直接指向二維陣列 printf 陣列指標輸出元素 n for i ...

指標陣列和陣列指標

有關陣列指標和指標陣列容易混淆,本文舉例說明兩者的區別,並加以分析。基本概念 指標 inta 1 int p a 指標的指標 int p2p p 簡單陣列 intb 20 指標陣列 int p 10 指標陣列,含有10個指標元素,即每乙個元素都是乙個指標 陣列指標 int p 10 這個指標用來指向...

指標陣列和陣列指標

理解這兩個概念,當從語言學的語法角度開始,定語 名詞,即 的 語句。指標陣列 指標的陣列 陣列指標 陣列的指標。一 指標陣列 元素為指標的陣列 顧名思義,就是說的首先是乙個陣列吧,然後陣列的元素是指標而已。說明形式為 type pointer array constant1 constant2 co...