เรียกโครงสร้างข้อมูลสิสต์ที่มีการแทนที่ข้อมูลแบบสแตติก ด้วยอาร์เรย์ว่า ลิสต์ ส่วนเมื่อแทนที่ข้อมูลแบบไดนามิกด้วยพอยน์เตอร์ เรียกโครงสร้างข้อมูลว่า ลิงค์ลิสต์ ซึ่งลิงค์ลิสต์มีข้อดีเหนือลิสต์ที่ว่าในการเพิ่มเข้าหรือลบข้อมูลในลิงค์ลิสต์ใช้เวลาที่คงที่ (ไม่มาก) ไม่ขึ้นกับจำนวนข้อมูลในลิสต์ ดังนั้นถ้าโปรแกรมเมอร์ที่ใช้ภาษาโปรแกรมมิ่งที่ไม่มีข้อมูลประเภทพอยน์เตอร์ให้ใช้ แต่ต้องการสร้างลิงค์ลิสต์ อาจใช้ประเภทข้อมูลที่มีให้ใช้ในภาษานั้นๆ คือ อาร์เรย์ เช่น มีลิสต์ L1 = (7, 1, 4, 5) และ L2 = (10, 20, 30) หน้าตาของ L1และ L2 ที่ใช้อาร์เรย์อาจเป็นดังแสดงในรูป 25 โดยมี avail เป็นลิสต์ที่เก็บเนื้อที่ว่างไว้ให้ลิสต์ L1 และ L2 เรียกใช้หรือคืนเนื้อที่มาให้
รูปที่ 25
จากรูปฟิลด์ LINK เป็นหมายเลขชี้ตำแหน่งของข้อมูลในลิสต์ตัวถัดไป ส่วนหมายเลขของต้นลิสต์ L1 เป็น 3 หมายถึง สมาชิกตัวแรกของลิสต์ L1 อยู่ที่ตำแหน่งที่ 3 ในเนื้อที่อาร์เรย์ที่จองไว้ สมาชิกตัวถัดๆไปอยู่ที่ตำแหน่ง 2, 8 และ 9 ส่วนที่อยู่ของสมาชิกของลิสต์ L2 อยู่ที่ 1, 4 และ 5 และ avail ลิสต์มีเนื้อที่อยู่ที่ตำแหน่ง 10, 11, 6 และ 7
หลักการเพิ่มข้อมูลในลิสต์หรือลบข้อมูลจากลิสต์ จะเหมือนกับเมื่อใช้พอยน์เตอร์ เช่น ต้องการเพิ่มข้อมูล 12 ในลิสต์ L1 เริ่มต้นต้องหาเนื้อที่ว่างจาก avail ลิสต์ ได้ตำแหน่งที่ 10 และหมายเลขแสดงต้นลิสต์ของ Avail ถูกเปลี่ยนเป็นที่ว่างถัดไป คือ เปลี่ยนเป็น 11 สมาชิกตัวสุดท้ายของลิสต์ L1 อยู่ที่ตำแหน่ง 9 ดังนั้น Link ฟิลด์ของตำแหน่งที่ 9 ที่แต่เดิมเป็น 0 ต้องเปลี่ยนเป็น 10 และ link ฟิลด์ของ 10 เปลี่ยนจาก 11 เป็น 0 เพื่อแสดงถึงการเป็นข้อมูลสุดท้ายของลิสต์ รูป 26 แสดงหน้าตาของ L1, L2 และ avail หลังจากเพิ่มข้อมูล 12 ในลิสต์ L1 โดยมีวงเล็บแสดงค่าที่เปลี่ยนไป
รูปที่ 26