乙個無序線性表,查詢最小值,並插在表頭

2021-05-09 19:36:15 字數 801 閱讀 5390

#include

#include

typedef struct _chainchain;

void creat_chain(chain *phead,int s,int len)

p->next = null;//last to null

}void print_chain(const chain *head)

printf("end/n");

printf("共%d/n",head->ndata);

}void move_least_to_head(chain *head)

prevofp = p;

p = p->next;

}if(prevofleast == head) return;

prevofleast->next = least->next;

least->next = head->next;

head->next = least;

}void free_chain(chain *head)

}void main()

;int len = sizeof(s)/sizeof(s[0]);

chain head;

head.ndata = 0;

creat_chain(&head,s,len);

print_chain(&head);

move_least_to_head(&head);

print_chain(&head);

free_chain(&head);

getchar();

}

遞迴查詢乙個序列的最大最小值

這個問題在群裡看到的,提問的人伐已經有偽 了,但是他沒理解,以及不知道怎麼用c的 去編寫 他的複試只能使用c 看了一下偽 這個問題的解法是這樣 有點類似於快排 把序列分成兩塊 二分 比較兩塊區間中的最大最小值,這裡就開始遞迴呼叫得到每個區間的最大最小值。其中 當區間劃分直至只有乙個元素,當前區間最大...

實現乙個返回最小值的棧

一 實現乙個棧,要求實現push 出棧 pop 入棧 min 返回最小值的操作 的時間複雜度為o 1 1 棧的基本操作入棧 push 出棧 pop 查詢棧頂 top 棧的元素個數 size 檢查棧是否為空 empty 我們知道入棧 push 和出棧 pop 時間複雜度本身就為o 1 所以只要讓min...

用棧逆置乙個線性表

include include define stack init size100 define stackincrement10 typedef struct lnodelnode,linklist typedef structsqstack void initlist linklist l vo...