Danh mục

Giáo trình Ngôn ngữ lập trình C: Phần 2

Số trang: 143      Loại file: pdf      Dung lượng: 10.12 MB      Lượt xem: 16      Lượt tải: 0    
tailieu_vip

Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Nối tiếp nội dung phần 1, phần 2 cuốn giáo trình Ngôn ngữ lập trình C cung cấp cho người học các kiến thức: Mảng, cấu trúc, kiểu enum và union, tệp. Cuối sách còn có phần bài tập thực hành để người học ôn tập và củng cố kiến thức.
Nội dung trích xuất từ tài liệu:
Giáo trình Ngôn ngữ lập trình C: Phần 2 C h ư ơ n g 9MẢNGì. GIỚI THIỆU CHUNG T r o n g h ầ u n h ư m ọ i n g ô n n g ữ l ậ p t r ì n h bậc cao đ ề u c ó c ấ u t r ú c d ữ l i ệ u k i ể umảng. T ừ c á c c ấ u t r ú c d ữ l i ệ u đ ơ n g i ả n n h ư số n g u y ê n , s ố thực, k ý tự, v i ệ chình t h à n h k i ể u d ữ l i ệ u m ả n g c ó t h ể nói là rất t ự n h i ê n v à là m ộ t y ê u c ầ u t h i ế tyếu k h i c ầ n t h i ế t p h ả i g i ả i q u y ế t c á c bài t o á n c ó thuật t o á n bắt đ ầ u trở n ê nphức t ạ p m à v i ệ c sử d ụ n g c á c d ữ l i ệ u đ ơ n g i ả n k h ô n g c ò n h i ệ u q u ả nữa. T r o n gc, mặc d ù v i ệ c sử d ụ n g con t r ỏ tạo n ê n m ộ t c ô n g cụ r ấ t m ạ n h , trong n h i ề utrường hợp c ó t h ể b ỏ qua cấu t r ú c m ả n g , n h ư n g v ẫ n c ó m ả n g , v à v i ệ c t h ể h i ệ nnhiều thuật t o á n t h ô n g qua cấu t r ú c m ả n g đ ơ n g i ả n , d ễ h i ể u h ơ n n h i ề u so v ớ iviệc sử d ụ n g con t r ỏ . 1. Đ ị n h n g h ĩ a M ả n g là m ộ t t ổ chức d ữ l i ệ u liên tục, trong đ ó c ó m ộ t s ố h ữ u h ạ n c á c p h ầ ntử d ữ l i ệ u c ù n g k i ể u v ớ i nhau, đ ư ợ c sắp x ế p c ó t h ứ tự. T h ứ t ự của c á c p h ầ n t ửtrong m ả n g g ọ i là chỉ số. V i ệ c truy x u ấ t v à o m ỗ i p h ầ n t ử đ ư ợ c thực h i ệ n t h ô n gqua m ộ t hoặc n h i ề u chỉ số. N ế u k h ô n g quan t â m t ớ i t ổ chức b ộ n h ớ của m ả n g thì c ó t h ể h i ể u m ộ t c á c hđơn g i ả n là: M ả n g là m ộ t d ã y c á c b i ế n c ù n g t ê n , c ù n g k i ể u đ ư ợ c p h â n b i ệ tbằng m ộ t hoặc m ộ t s ố chỉ số. 2. P h â n l o ạ i M ả n g bao g i ờ c ũ n g g ắ n l i ề n v ớ i m ộ t k i ể u d ữ l i ệ u đ ã đ ư ợ c đ ị n h nghĩa t ừtrước. Đ ó là k i ể u của c á c p h ầ n tử. K i ể u của m ỗ i p h ầ n t ử c ó t h ể là m ộ t k i ể uchuẩn của c , c ũ n g c ó t h ể là m ộ t k i ể u do n g ư ờ i d ù n g đ ị n h nghĩa, v à rất c ó t h ểđ ó l ạ i là m ộ t k i ể u m ả n g . D o đ ó c ó t h ể p h â n l o ạ i m ả n g theo k i ể u d ữ l i ệ u . 151 T u y n h i ê n , n g ư ờ i ta hay p h â n l o ạ i m ả n g theo s ố c h i s ố c ầ n t h i ế t đ ể truyx u ấ t v à o c á c p h ầ n tử, ta g ọ i là số c h i ề u . M á n g Ì c h i ề u là m á n g t r o n g đ ó c ó N p h ầ n t ử đ ư ợ c sắp x ế p t u y ế n t í n h , cóm ộ t p h ầ n t ử đ ầ u t i ê n đ ư ợ c g h i chỉ số 0, m ộ t p h ầ n t ử c u ố i c ù n g c ó chỉ số bằngN - Ì. M ỗ i p h ầ n t ử c ò n l ạ i c ó chỉ s ố i v à l u ô n đ ứ n g trước m ộ t p h ầ n t ừ c ó chỉ sối + Ì v à đ ứ n g sau m ộ t p h ầ n t ử c ó chỉ s ố i - Ì . M ả n g 2 c h i ề u là M m ả n g Ì c h i ề u c ó N p h ầ n t ử x ế p k ế t i ế p nhau. M ỗ i phầntử vì v ậ y đ ư ợ c coi n h ư đ ứ n g trong m ộ t b ả n g c ó M h à n g v à N c ộ t . C ầ n p h ả i cóhai chỉ s ố đ ể t r u y cập m ộ t p h ầ n tử, chỉ s ố h à n g là i c ó g i á trị t ừ 0 đ ế n M - Ì, chisố t h ứ c ộ t là j c ó g i á trị t ừ 0 đ ế n N - Ì . Chú ý đến đặc điểm mảng là tổ chức dữ liệu liên tục, la hoàn toàn có thểcoi mảng hai chiều M hàng N cột như mảng một chiêu có MxN phần tử, trongđó mồi phần tử trên hàng i cột ị của mảng 2 chiều sẽ cố chỉ số k = i*N + ị. T ư ơ n g t ự n h ư t h ế , m ả n g n c h i ề u là m ả n g Ì c h i ề u của c á c m ả n g (n - 1)c h i ề u và c ầ n c ó n c h í số đ ế t r u y cập v à o Ì p h ầ n tử. 3. Ư u n h ư ợ c đ i ể m c ủ a c ấ u t r ú c mảng 3.1. Ư u đ i ể m M ả n g là m ộ t c ấ u t r ú c d ữ l i ệ u c ó n h i ề u ứng d ụ n g thực t ế . N h ữ n g b à i toántrong đ ó c ó n h i ề u d ữ l i ệ u c ù n g k i ể u và c ó vai t r ò g i ố n g nhau t h ư ờ n g t ổ chức d ữl i ệ u d ư ớ i d ạ n g m ả n g . N g ư ờ i l ậ p t r ì n h t ự do truy cập m ộ t p h ầ n t ử bất k ỳ trongm ả n g n h ờ c á c chỉ s ố v ớ i m ứ c đ ộ t h u ậ n l ợ i n h ư nhau bất k ể p h ầ n t ử đ ó n ằ m ở vịtrí n à o trong m ả n g . Đ i ề u n à y k ế t hợp v ớ i c ấ u t r ú c l ặ p l à m cho b à i t o á n t r ở n ê nđ ơ n g i ả n h ơ n n h i ề u . T r o n g s ố c á c cấu t r ú c danh s á c h thì m ả n g là l o ạ i danhs á c h d ễ sử d ụ n g nhất, t h u ậ n t i ệ n nhất. C ó t h ể d u y ệ t danh s á c h theo c h i ề u n à ocũng được. 3.2. N h ư ợ c đ i ể m M ả n g t h ư ờ n g k é m m ề m d ẻ o và n h i ề u k h i l ã n g p h í . C ó c h ư ơ n g t r ì n h l à mviệc tốt v ớ i c á c b à i t o á n n h ỏ , k h i gặp c á c b à i t o á n l ớ n t h ì s ố p h ầ n t ử m ả n gk h ô n g đ ủ đ á p ứng. K h i l ậ p t r ì n h k h a i b á o m ả n g k í c h t h ư ớ c l ớ n đ ể đ á p ứngđược n h i ề u c ỡ b à i t o á n thì p h ầ n l ớ n c á c b à i t o á n chỉ c ầ n sử d ụ n g c h ư a đ ế ...

Tài liệu được xem nhiều: