1、(1)順序棧的入棧和出棧:
#include< iostream >
usingnamespace std;
#definestack_size 10
intstack[stack_size];
inttop = 0;
voidinit_stack() //
初始化順序棧
voidpush_stack(int x)
}voidpop_stack()
}intmain()
cout<< "
請輸入你想出站的元素個數:"; //順序棧的出棧操作
intn1;
cin>> n1;
cout<< "
出站的元素依次為:" << endl;
for(int i = 0; i < n1; i++)
cout<< endl;
return0;
}(2)鏈棧的入棧和出棧:
#include
#include
typedef struct stack
stack;
//初始化
void initstack(stack *&s)
//釋放棧
void clearstack(stack *s)}//
判斷棧是否為空
int stackempty(stack *s)
int length(stack *s)
return i;}//
得到棧頂元素
int gettop(stack *s,int &e)
//入棧
void push(stack *s,int e)
//出棧
int pop(stack *s,int &e)
p=s->next;
e=p->data;
s->next=p->next;
free(p);
return 1;}//
輸出棧的元素
void outputstack(stack *s)
while(p!=null)
printf("\n");
}int main()
clearstack(s);
system("pause");
}2、(1)順序佇列的入隊和出隊:
(2)棧佇列的入隊和出隊:
#include
usingnamespace std;
typedefchar type;
//鏈隊結點定義
typedefstruct node
node,*queuenode;
//鍊錶結構體定義
typedefstruct queue
queue,*pqueue;
//初始化佇列
voidinitqueue(pqueue q)
q->front->next=null;
q->rear=(queuenode)malloc(sizeof(node));
if(null==q->rear)
q->rear->next=null;
q->size=0;
} //
入隊操作
voidenterqueue(pqueue q,type data)
newnode->data=data;
q->size++;
if(null==q->front->next) //
隊列為空
else
} //出隊 返回原隊頭結點
queuenodeoutqueue(pqueue q)
queuenode temp =q->front->next;
q->front->next=temp->next;
q->size--;
return temp;
} //
列印佇列
voidprintqueue(pqueue q)
cout<
} int_tmain(int argc, _tchar* argv)
; queue q;
initqueue(&q);
for(int i=0;i<5;i++) //
入隊
enterqueue(&q,a[i]);
printqueue(&q);
outqueue(&q); //
出隊 printqueue(&q);
cout<
隊尾元素"data<
return 0;
}
可持久資料結構
o n log n 由於很久之前看過這個題,一直以為不是很可做,然而發現一眾大佬全都切掉了,於是好好想了想,發現不是很難。如果 k k 只需要從右到左再跑一遍即可。o n logn 長時間思考無果後去看了個標籤 切比雪夫距離轉曼哈頓距離?然後就去學習了一下,然後就會了。首先將題裡的那個東西轉成曼哈頓...
信管117135張志海資料結構一
標頭檔案如下 ifndef seqlist h 避免重複包含seqlist.h標頭檔案 define seqlist h const int maxsize 10 線性表最多包含10個元素 class seqlist 無參建構函式,建立乙個空表 seqlist int a,int n 有參建構函式 ...
可持久化資料結構
1.可持久化線段樹 可持久化陣列 最基礎的可持久化資料結構,每次修改開新的log個點即可。includeusing namespace std const int n 1e6 100 templatevoid rd t x templatevoid print t x struct segseg n...