1. 程式人生 > >佇列 佇列的陣列實現及連結串列實現

佇列 佇列的陣列實現及連結串列實現

#include<iostream>
#include<stdlib.h>
using namespace std;
typedef struct Node
{
int value;
struct Node *next;
}node,*link;
link front=NULL,rear=NULL;
link newnode,temp;
void ru (int data)
{
newnode=new node;
newnode->value =data;
//判斷佇列是否為空
    if(front==NULL)
{
        front=newnode;
}
else
{
rear->next =newnode;
}
rear=newnode;
}
int chu()
{
int result;
//判斷佇列是否為空
if(front!=NULL)
{
temp=front;
result=front->value ;
front=front->next ;
delete temp;
return result;
}
else
return -1;
   
}
int main()
{
int data;
for(int i=0;i<4;i++)
{
cin>>data;
ru(data);
}
for(int i=0;i<4;i++)
{
cout<<chu();
}


system("pause");
return 0;
}

相關推薦

佇列 佇列陣列實現連結串列實現

#include<iostream> #include<stdlib.h> using namespace std; typedef struct Node {int value;struct Node *next; }node,*link; link front=NULL,rear=

迴圈佇列(順序表實現連結串列實現

迴圈佇列 迴圈佇列是將順序佇列變為一個變成一個環狀的空間。頭尾指標以及佇列元素之間的關係不變,只是在迴圈佇列中,頭尾指標“依環狀增 1”的操作可用”模“運算來實現。通過取模運算,頭指標和尾指標就可以在順序表空間內以頭尾銜接的方式迴圈移動。 隊空條件:Q.front == Q.rear

java實現佇列MyQueue,底層使用連結串列實現

/** * 佇列的介面 * 佇列是一種先進先出的資料結構 * 佇列支援的操作: * 判斷佇列是否為空 * 判斷佇列是否已經滿了 * 檢視佇列已經有多少元素 * 將一個元素入隊 * 將一個元素出隊 * 檢視隊頭的元素,但不出隊 * 佇列在底層可

java揹包的陣列實現連結串列實現

陣列實現 package base.structure; import java.lang.reflect.Array; import java.util.Iterator; /** * @program: Algorithm4J * @description: 揹包陣列的實現

約瑟夫問題(陣列與迴圈連結串列實現)

約瑟夫問題 一個旅行社要從n名旅客中選出一名幸運旅客,為他提供免費環球旅行服務。方法是,大家站成圈,然後選定一個m,從第1個人開始報數,報到m時,這個人OUT,然後從下一個人開始重新從1報數,重複這個過程,直到最後剩下一個人就是幸運之星。問題就是誰是幸運者呢?

棧的陣列實現連結串列實現

棧的說明 棧是一種基本的資料結構。在棧中,被刪除的元素是最近被插入的元素,實現的是一種後進先出(last-in, first-out, LIFO)的策略。 改變棧中元素的操作方法只有兩個——push與pop。push是把元素推入棧底,pop是把元素從棧頂彈出。 下面是p

線性表的陣列實現連結串列實現

線性表的順序儲存實現 //線性表用陣列來實現 typedef struct PolyNode *Polynomial; struct PolyNode{ int coef;//係數 int expon;//exponential指數 Polynomial

【資料結構與演算法】之佇列的基本介紹及其陣列連結串列實現---第五篇

一、佇列的基本概念 1、定義 佇列是一種先進先出的線性表。它只允許在表的前端進行刪除操作,而在表的後端進行插入操作,具有先進先出、後進後出的特點。進行插入操作的一端成為隊尾(tail),進行刪除操作的一端稱為隊頭(head)。當佇列中沒有元素時,則稱之為空佇列。 在

佇列(連結串列實現)概念相關函式

一. 連結串列佇列 特殊的單鏈表,只在單鏈表上進行頭刪尾插的操作 二. 相關函式 對於佇列具體概念不太清楚的同學可以參考 順序表實現的資料結構佇列 由順序表實現的佇列程式結構相對來說比較簡單,可以鞏固一下基礎 連結串列定義的佇列結構

佇列陣列連結串列實現

1.佇列是先入先出額資料結構,它的實現可以用陣列,也可以用連結串列。用陣列實現連結串列時,需要預先分配陣列的大小,用front和rear下標分別表示隊頭元素下標和隊尾元素下標,插入一個元素時,使隊尾的下標rear加1,刪除一個元素時,front下標加1,判斷是否為空的佇列只

java 佇列與棧實現連結串列陣列

我們經常會問到java資料結構可以怎麼實現,看過了演算法之後得到很大啟發,這裡整理如下。 佇列是一種先進先出(FIFO)的集合模型,而棧則是後進先出(LIFO)的集合模型,我們經常使用它們用來儲存元素的相對順序。Java中在java.util.LinkedList類中實現了

Java用連結串列實現佇列

佇列--先入先出 棧---後入先出 連結串列實現佇列和棧。首先我們需要構建一個連結串列。連結串列有哪幾要素?   1、連結串列本身的value 2、連結串列的next指標,next指標指的還是同樣型別的值。 下邊看程式碼 public class Element&l

資料結構與演算法分析c語言描述(Mark Allen)--佇列ADT連結串列實現

佇列ADT連結串列實現 使用連結串列儲存 操作集合 入隊 出隊 初始化 返回隊前元素 列印 #include <stdio.h> #includ

資料結構實現 6.4:優先佇列_基於連結串列實現(C++版)

資料結構實現 6.4:優先佇列_基於連結串列實現(C++版) 1. 概念及基本框架 2. 基本操作程式實現 2.1 入隊操作 2.2 出隊操作 2.3 查詢操作 2.4 其他操作 3. 演算法複雜度分析

資料結構-佇列-連結串列實現

程式碼實現 //佇列 連結串列實現 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> //定義一個連結串列 typedef struct _Node Node; struct

java佇列連結串列實現

原始碼的github地址,可以下載到本地執行 package Interface; /** * 佇列介面 * <p> * 佇列是一種先進先出的線性表 * 只能在表的一端進行插入,另一段進行刪除 * 允許插入的一端叫隊尾,允許刪除的一端叫隊頭() * *

java版資料結構與演算法—連結串列實現佇列

package com.zoujc.QueueLink; /** * 連結串列實現佇列 */ class FirstLastList { private Link first; private Link last; public FirstLastList(){

資料結構之連結串列實現佇列

#include<stdio.h>#include<malloc.h>#include<stdlib.h>#define OK 1#define ERROR 0typedef struct Node{ int data; struct Node *next;}Node,*L

基於有序連結串列實現的優先佇列

博主最近在苦讀演算法第四版,在第二章第四節的優先佇列的實現中,作者提到了可以用有序或無序連結串列實現優先佇列,博主在網上大致查閱了一下,好像沒有現成的java程式碼(泛型的),於是自己根據找到的程式碼簡單修改並實現了一下,特此記錄一下。 /*定義結點的抽象資料型別*/

嚴蔚敏版資料結構——佇列連結串列實現

佇列有兩種表示方式,我們再看連結串列實現: 個人感覺佇列也就是連結串列的一種特殊表,如果前面的連結串列知識通關了這裡隨便看看記住佇列的遊戲規則就行了。還是和前面一樣,先要有頭結點,總體來說就是單鏈表的插刪。 這裡與順序佇列不同的是不需要判斷佇列是不是滿了,連結串列最大的特點是動態分配節點空間