10 CLEAR(500) 20 DIM N(150),C$(150) 30 PRINT:PRINT:PRINT:PRINT "TYPE C FOR CHARACTER STRING SORT," 40 PRINT "TYPE N FOR NUMBER SORT."; 50 INPUT W$ 60 N=0 70 PRINT:PRINT 80 IF W$="N" THEN 430 90 IF W$<> "C" THEN 140 100 GOSUB 710 110 INPUT S$ 120 PRINT 130 N=N+1 140 INPUT C$(N) 150 IF C$(N)<>S$ THEN 130 160 N=N-1 170 PRINT 180 L=INT(N/2)+1 190 N1=N 200 IF L=1 THEN 240 210 L=L-1 220 A$=C$(L) 230 GOTO 280 240 A$=C$(N1) 250 C$(N1)=C$(1) 260 N1=N1-1 270 IF N1=1 THEN 390 280 J=L 290 I=J 300 J=2*J 310 IF J=N1 THEN 350 320 IF J>N1 THEN 380 330 IF C$(J)>=C$(J+1) THEN 350 340 J=J+1 350 IF A$>=C$(J) THEN 380 360 C$(I)=C$(J) 370 GOTO 290 380 C$(I)=A$:GOTO 200 390 C$(I)=A$ 400 FOR I=1 TO N 410 PRINT C$(I):NEXT I 420 GOTO 30 430 GOSUB 710 440 INPUT S:PRINT 450 N=N+1 460 INPUT N(N) 470 IF N(N)<>S THEN 450 480 N=N-1 490 PRINT 500 L=INT(N/2)+1 510 N1=N 520 IF L=1 THEN 550 530 L=L-1 540 A=N(L):GOTO 580 550 A=N(N1):N(N1)=N(1) 560 N1=N1-1 570 IF N1=1 THEN 680 580 J=L 590 I=J 600 J=2*J 610 IF J=N1 THEN 640 620 IF J>N1 THEN 670 630 IF N(J)N(J) THEN 670 650 N(I)=N(J) 660 GOTO 590 670 N(I)=A:GOTO 520 680 N(1)=A 690 FOR I=1 TO N:PRINT N(I):NEXT 700 GOTO 30 710 PRINT "PLEASE INDICATE A STOP CODE----SOMETHING NOT IN YOUR LIST" 720 PRINT "WHICH WILL ACT AS AN 'END OF LIST ' SIGNAL: "; 730 RETURN 740 END TE A