用c語言輸出順序表
1. 用c語言編寫一個有關順序表的程序代碼
#include<stdio.h>
#include<stdlib.h>
#define Size 50
//定義順序表結構體類型
typedef struct Table{
int*head;//順序表頭指針,為整型
int length;//順序表中元素個數
int size; //順序表的長度
}Table;
//創建順序表
Table CreateTable(){
Table T;
if(!(T.head=(int*)malloc(Size*sizeof(int)))){
printf("內存分配錯誤!\n");
exit(0);
}
T.size=Size;
T.length=0;
return T;
}
//增加
void Insert(Table T,int set,int values)//set為插入的位置,values為值
{
//首先判斷插入位置是否正確
if(set<0||set>T.length){
printf("插入位置不正確!\n");
reutrn;
}
//判斷是否有足夠的內存空間存儲增加的數
if(T.length==T.size){
if(!(T.head=(int*)realloc(T.head,(T.size+10)*sizeof(int)))){
printf("內存分配錯誤!\n");
exit(0);
}
T.size+=10;
}
//插入數據
for(int i=s.length;i>set;i--)
T.head[i]=T.head[i-1];
T.head[set]=values;
T.length++;
}
//刪除
void Delete(Tabel T,int set)
{
if(set<0||set>=T.length)
{
printf("刪除數的位置不爭確,刪除失敗!\n");
return;
}
//輸出數據
for(int i=set;i<s.length;i++)
T.head[i]=T.head[i+1];
T.length--;
}
//查找
int Search(Tabel T,int value)
{
for(int i=0;i<T.length;i++)
if(T.head[i]==value)
return i;
return -1;
}
2. c語言編寫順序表
給你改了下,可以正常輸入和輸出。
initlist_Sq read 函數中
if(!l.elem) printf("Error!");
l是指針 所以要改為 l->elem
l.length++; 改 l->length++;
void insert(Sqlist *l,int k)中
SqList l是大寫
l-?elem[i]=t;改 l->elem[i]
main 中
Sqlist l; SqList l;
更改後如何下可以運行
#include "stdio.h"
#include "stdlib.h"
#define LIST_INIT_SIZE 100
#define LIST_INCREMENT 10
typedef int ElemType;
typedef struct{
ElemType *elem;
int length;
int listsize;
}SqList;
void initlist_Sq(SqList *l){
l->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!l->elem) printf("Error!");
l->length=0;
l->listsize=LIST_INIT_SIZE;
}
void read(SqList *l){
int i;
for(i=0;i<10;i++){
scanf("%d",&l->elem[i]);
l->length++;
}
}
void write(SqList *l){
int i;
for(i=0;i<l->length;i++)
printf("%d\t",l->elem[i]);
}
void insert(SqList *l,int k){
int i,t;
l->elem[0]=k;
for(i=0;i<l->length;i++)
if(l->elem[i]>l->elem[i+1]){
t=l->elem[i+1];
l->elem[i+1]=l->elem[i];
l->elem[i]=t;
}
l->length++;
}
int main(){
int x;
SqList l;
initlist_Sq(&l);
read(&l);
printf("Input the number you want to insert:\n");
scanf("%d",&x);
printf("The ordinary list is:\n");
write(&l);
printf("\nThe new list is:");
write(&l);
system("pause");
return(0);
}
3. c語言運算符優先順序順序表
第1優先順序:各種括弧,如()、[]等、成員運算符 . ;
第2優先順序:所有單目運算符,如++、–、!、~等;
第3優先順序:乘法運算符*、除法運算符/、求余運算符%;
第4優先順序:加法運算符+、減法運算符-;
第5優先順序:移位運算符<<、>>;
第6優先順序:大於運算符>、大於等於運算符>=、小於運<、小於等於運算符<=;
第7優先順序:等於運算符==、不等於運算符!=;
第8優先順序:按位與運算符&;
第9優先順序:按位異或運算符^;
第10優先順序:按位或運算符|;
第11優先順序:邏輯與運算符&&;
第12優先順序:邏輯或運算符||;
第13優先順序:三目條件運算符 ?: ;
第14優先順序:各種賦值運算符,如=、+=、-=、*=、/= 等;
第15優先順序:逗號運算, 。