有效管理一个1——N的随即顺序列,要求生成初始序列,保证序列中的元序值,不重复,当增加或删除一个元素时,使序列元序值动态更新,例如一个MP3使用随机方式播放十首歌,曲目播放次数就是由1——10组成的一个随机序列,当增加或删除一首歌时,要及时更新序列中元序值,不重复播放

解决方案 »

  1.   

           List<string> m_lstFiles = new List<string>();
            private void Sort()
            {
                if (m_lstFiles == null || m_lstFiles.Count <= 0)
                    return;            Random r = new Random(Guid.NewGuid().GetHashCode());
                string strTemp = "";
                int index = 0;
                for (int i = 0; i < m_lstFiles.Count; i++)
                {
                    index = r.Next(0, m_lstFiles.Count);
                    strTemp = m_lstFiles[index];
                    m_lstFiles[index] = m_lstFiles[0];
                    m_lstFiles[0] = strTemp;
                }            foreach (string s in m_lstFiles)
                {
                    MessageBox.Show(s);
                }
            }        private void button1_Click(object sender, EventArgs e)
            {
                m_lstFiles.Clear();
                for (int i = 0; i < 10; i++)
                {
                    m_lstFiles.Add("c:\\" + i.ToString() + ".mp3");
                }            Sort();
            }