Cara melaksanakan baris gilir bulat dalam bahasa go: 1. Buat fail sampel go 2. Gunakan fungsi "CustomizedQueue" untuk menentukan struktur data baris gilir 2. Gunakan fungsi "NewQueue" untuk memulakan baris gilir ; 3. Gunakan "IsFull" Fungsi menentukan sama ada baris gilir penuh; Gunakan fungsi "DeQueue" dan "EnQueue" untuk menentukan penyahbarisan dan penyahbarisan data Sertai pasukan.
Persekitaran pengendalian artikel ini: Sistem Windows 10, pergi versi 1.20, komputer dell g3.
Barisan ialah struktur data yang biasa digunakan dalam komputer Ciri-ciri struktur ini ialah masuk dahulu, keluar dahulu, sama seperti ketika kita beratur untuk membeli sesuatu, dahulu didahulukan, tiada lompat barisan. Seterusnya, kami menggunakan Go untuk melaksanakan struktur data baris gilir bulat.
Perlaksanaan bahasa Go bagi kaedah baris gilir bulat:
// CustomizedQueue 自定义队列数据结构,并且约定保留一个空闲的位置不能被插入 type CustomizedQueue struct { data []interface{} maxSize int front int rear int } // NewQueue 初始化队列 func NewQueue(size int) *CustomizedQueue { var result = &CustomizedQueue{} result.maxSize = size + 1 result.data = make([]interface{}, size+1) result.front = 0 result.rear = 0 return result } // IsFull 队列是否满了/* func (s *CustomizedQueue) IsFull() bool { return (s.rear+1)%s.maxSize == s.front } // IsEmpty 判断是否是空队列/** func (s *CustomizedQueue) IsEmpty() bool { return s.data != nil && s.rear == s.front } // GetQueueLength 获取队列元素个数/** func (s *CustomizedQueue) GetQueueLength() int { return (s.rear - s.front + s.maxSize) % s.maxSize } // DeQueue 出队/** func (s *CustomizedQueue) DeQueue() (interface{}, error) { if s.IsEmpty() { return nil, fmt.Errorf("队列为空") } result := s.data[s.front] s.front = (s.front + 1) % s.maxSize return result, nil } // EnQueue 入队/** func (s *CustomizedQueue) EnQueue(item interface{}) error { if s.IsFull() { return fmt.Errorf("队列已满") } s.data[s.rear] = item s.rear = (s.rear + 1) % s.maxSize return nil }
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan baris gilir bulat dalam bahasa go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!